Should I write unit-test for every public method? For example I have a CRUD service, so I have
create, read, update, delete methods. But when I write test to delete or update methods, I implicitly test read and create methods (for example to test the update method first I need create an entity(create), then retrieve it (read), then update it and then retrieve it again to ensure it changed).
2 に答える
5
getとのテストを書きますcreate。はい:
- 意図的にテストしている動作と、偶然にテストしている動作を簡単に分離できます
- 他の方法ではカバーされない障害条件やその他のシナリオのテストが容易になります
- /の実装を
delete/updateを使用しないgetように変更しても、まだ/createをテストしていることを意味します。getcreate
理想的には、テスト セットを作成し、「下位」レベルでデータをチェックするように (あまり夢中にならずに) 試みます。たとえば、メモリ内データベースへの直接アクセスを実行します。そうすれば、「エンティティを作成すると、データベース内のデータは {this} のようになります」(フェッチするときも同様) を実際にテストできます。作成して同じ結果が得られるだけでも、ブラック ボックステストとしては問題ありませんが、通常、単体テストはよりホワイト ボックスのようなものだと考えています。
于 2013-03-08T17:36:12.843 に答える
1
すべてのパブリック メソッドの単体テストを作成する必要がありますか? はい
パブリック メソッドごとにテスト ケースを作成することをお勧めします。削除操作をテストするには、最初にcreate testを呼び出してから、 delete testメソッドを呼び出す必要があります。このようにして、削除テスト メソッドは独立し、考えられるすべてのシナリオをテストできます。
于 2013-03-08T17:39:15.097 に答える