A poem of testing
テストコードってなんで必要か
モバイルゲームクライアントという特殊な環境
- 仕様追加/変更が多い
- DynamicなUIを求められる箇所が多い
- 機能単位の直交性があまり高くない
とはいえ複雑化するクライアント事情
- UIの整合性
- ユーザの操作制御
- 複雑なState管理
- API通信
- データ加工とView表示
テストを単純に書けば良いというものでもない
書くこと・保守することは間違いなくコストになる
テストを書けそうなら以下の辺りか
- UI Componentの存在/属性検証
- UserActionが適切にdispatchされているかの検証
- ユーザ操作に対して変化するStateの検証
- Infra層へのrequest/responseが適切かの検証
- Infra層から得たデータを元にViewObjectを生成するロジックの検証
どこまでやるのか、という程度問題は結局残り続ける(UI要素全検証とかシンドいと思う
経験からクライアント書いててネックになりがちな所は以下だと思っている
- UIの整合性
- 複雑なState管理
- Clientで持たざるを得なかったdomain logic
ソフトウェアをより良くするための保護と、サービスをより良くするための身軽さを両立する位のバランス感覚でやれると嬉しい