泡立て器:
新ユニットにテストし、ユニットテストへの道のために他の二つの方法の結果によって検証されたブールの方法を探しています。
protected boolean isUpdateNeeded(){
return (method1() && method2());
}
他の方法は、この例では、このようになります。
protected boolean method1() {
return false;
}
protected boolean method2() {
return true;
}
必要であればしかし、これらの2つの方法は、/上書きすることができます。それは本当にこの時点では問題IDK場合
だから、テストの後ろの私の考えはこれです。必要な可能性のある結果を満たすために法1または方法2に真/偽のを渡す方法を探します。
@Test
public void testCheckToSeeIfUpdateIsNeeded(){
assertTrue('how to check here');
asserFalse('how to check here');
assertIsNull('was null passed?');
}
ムンク:
別のクラスは、これを拡張し、オーバーライド法1と方法2場合は、変更をテストするために、そのクラスの開発者の責任です。
あなたは法1と方法2を模擬でき、しかし、あなたはそれが難しく変更後の作りになって、あなたのテストケースを使用して、クラスの構造を結合しています。
テストするためにここにあなたの責任で行動あなたのクラスのを。私は、問題のメソッドが呼び出された参照しますisUpdateNeeded
。レッツ・テストするように。私はそれを想像すると、私はクラスを記入します。
class Updater {
Updater(String shouldUpdate, String reallyShouldUpdate) {...}
boolean method1() { return shouldUpdate.equals("yes"); }
boolean method2() { return reallyShouldUpdate.equals("yes!"); }
boolean isUpdateNeeded() { ...}
}
class UpdaterTest {
@Test
void testUpdateIsNeededIfShouldUpdateAndReallyShouldUpdate() {
String shouldUpdate = "yes";
String reallyShouldUpdate = "yes!"
assertTrue(new Updater(shouldUpdate, reallyShouldUpdate).isUpdateNeeded());
}
.... more test cases .....
}
このテストは、いくつかの他の方法が存在するために入力ではなく、それとの関係与えられたアップデータの行動を主張する方法に注目してください。
あなたは、テストのメソッド、サブクラスアップデータをオーバーライドして、適切な変更を加えるとどうなるかを実証するテストをご希望の場合。