私は、さまざまな方法でエンティティを作成して操作するサービスのJUnitテストを作成しています。テストでさまざまなアクティビティの組み合わせを試してもらいたいです。私はこのようなものを持っています:
test1() {
/** create entity **/
/** assert **/
}
test2() {
/** do X to entity **/
/** assert **/
}
test3() {
/** do X again to entity, expect failure **/
/** assert **/
}
test4() {
/** do Y to entity, expect success **/
/** assert **/
}
ただし、私の理解では、JUnitが正しい順序でテストを実行することは期待できず、各テストは完全に自己完結型である必要があります。
しかし、すべてのテストを自己完結型にすると、重複するコードがたくさんあり、実行時間がかなり長くなり、維持するのがより困難になります...たとえば、次のようになります。
test1() {
/** create entity **/
/** assert **/
}
test2() {
/** create entity **/
/** do X to entity **/
/** assert **/
}
test3() {
/** create entity **/
/** do X to entity **/
/** do X again to entity, expect failure **/
/** assert **/
}
test4() {
/** create entity **/
/** do X to entity **/
/** do X again to entity, expect failure **/
/** do Y to entity, expect success **/
/** assert **/
}
...あなたが私に従うなら。
だから私の質問は、コードがクリーンでエレガントになるようにこれらのテストを書くための「正しい」方法は何ですか?
ありがとう、ロブ