ロンドン学派とかについて語るなら「Googleのソフトウェアエンジニアリング」も読んでおいて損は無い。古典学派に行き着くと思うから。
古典学派だのロンドン学派だの、テストの書き方で宗派が分かれるのは面白い。結局は実装の詳細に踏み込みすぎて自爆するのがお約束
いや古典学派はロジックと入出力をテストしろ、Mockが必要なコードを書くな、だったと思うのだが。例えば f(){a=DB.getA();処理~}があったらDBをMockにするんじゃなくてa=DB.getA();b=fx(a);と分けてfxをテストすればMockは不要になる
結果自分が古典派だったと後から知っただけで、本人たちは派閥で別れようと思って別れている訳では無いです(みんなそうだよね?)
“単体テストが備える性質3つ:少量のコードを検証、実行時間が短い、隔離された状態で実行。隔離の解釈が古典学派(テスト同士を隔離して実行)とロンドン学派(テスト対象から依存オブジェクトを隔離)で異なる”
きょうみある
壊れやすいテストとは? 「単体テストの考え方/使い方」(古典学派)と「実践テスト駆動開発」(ロンドン学派)を読んで考える
ロンドン学派とかについて語るなら「Googleのソフトウェアエンジニアリング」も読んでおいて損は無い。古典学派に行き着くと思うから。
古典学派だのロンドン学派だの、テストの書き方で宗派が分かれるのは面白い。結局は実装の詳細に踏み込みすぎて自爆するのがお約束
いや古典学派はロジックと入出力をテストしろ、Mockが必要なコードを書くな、だったと思うのだが。例えば f(){a=DB.getA();処理~}があったらDBをMockにするんじゃなくてa=DB.getA();b=fx(a);と分けてfxをテストすればMockは不要になる
結果自分が古典派だったと後から知っただけで、本人たちは派閥で別れようと思って別れている訳では無いです(みんなそうだよね?)
“単体テストが備える性質3つ:少量のコードを検証、実行時間が短い、隔離された状態で実行。隔離の解釈が古典学派(テスト同士を隔離して実行)とロンドン学派(テスト対象から依存オブジェクトを隔離)で異なる”
きょうみある