テストの方針
ローカルで開発サーバを立ててHTTPで叩く
入力に対して期待した出力が帰るかを検証する
まずは各種コマンドに対しての挙動を確認
ユーザの入力にはキーワードが含まれてないかもしれない
Firebaseにアクセスしてテストユーザの記憶を消す
記憶のせいでテストが壊れないように
将来的に内部状態のテストがしたくなったらFirebaseのレコードをダウンロードする
https://gyazo.com/47279ac9c3bdc365381c21b76e4f5836
0が人間の操作
1はブラウザ操作を自動化するアプローチ
2はブラウザの代わりにHTTPSでサーバとやりとりするプログラムをPythonで書く
3はサーバをローカルで走らせる
4はサーバの内部ロジックを同一プロセス内で直接叩く
5はFirebaseをモックで置き換えて全部同一プロセス内にする
Firebaseのモック化を3の次にやる手もある
今回の進め方は、まず軽く2をやってから3、4と進むやり方