私はしばらくの間、py.testを使用してpythonの単体テストを書いてきました(ちなみにこれをお勧めします)。
現在、JUnit4 を使用して Java で実行しています。単体テストの興味深い点は、すべてが期待どおりに進まない場合 (Web サービスから予期しないデータが返された、無効な入力データなど)、コードがどのように動作するかを確認することです。Python では、以前は関数ごとに 2 つのテストを行っていました。
- 最初のテストでは、すべてが期待どおりに機能する場合のコードの動作を確認します
- 2 番目のテストでは、あらゆる種類の潜在的な問題、ネットワークの問題、ダーティ/予期しない/無効な応答データなどをシミュレートします。
私は通常、それらを test_foo() および test_foo_ko() と呼びます。もちろん、Java は camelCase を使用します。
問題は、コードのすべてのケースを 1 つのテストに集中させるべきか、Python で行ってきたようにそれらを 2 つに分割するべきか、それとも単一の可能なケースごとにテストを行うべきかということです。