アプリケーションのさまざまなメソッドをテストする方法を実装する必要があります。アプリケーションのメソッドを適切にテストする最も有名な方法であるため、JUnitに関する情報を収集していましたが、私は多くの質問があり、見つけられない答えが必要です。複雑な環境でのJUnitテスト
私は次のJUnitのテストを持っているので、簡単に私は考えることができます:
public class Civilian {
private final String firstName;
private final String lastName;
private final int birthDate;
public Civilian(String firstName, String lastName, int year) {
this.firstName = firstName;
this.lastName = lastName;
this.birthDate = year;
}
public String getFullName() {
return firstName + " " + lastName;
}
}
とテストクラス:
public class CivilianTest {
@Test
public void getFullNameTest() {
Civilian civ = new Civilian("bob", "Reynolds",1997);
Assert.assertEquals("bob Reynolds", civ.getFullName());
}
}
この例では、私はgetFullNameの結果を知っている必要がありますassertEquals()メソッドでそれを比較するメソッド。しかし、どのようにしてこの種のテストがこの方法がどんな場合でも動作することを保証することができましたか?
私が取り組まなければならないアプリケーションでは、このデータがメソッドによって変更され、このデータが変更された別のデータベースからのデータが使用されます。
私はそれにメソッドを使用する前に、このデータの結果を知るのは難しいことです。 JUnitはこのようにしか使われていないのですか?同じデータでこの同じメソッドを複数回使用してテストするにはどうすればよいですか?
@マコトの答えに同意します。 JUnitを使用すると、複数の入力データの組み合わせでテストを実行できます。パラメータ化されたテスト[ここ](http://www.mkyong.com/unittest/junit-4-tutorial-6-parameterized-test)を参照してください。 /)または[ここ](https://ourcraft.wordpress.com/2008/08/27/writing-a-parameterized-junit-test/)。しかし、通常は必要ではありません。私はパラメータ化されたテストを使用したことはないと思う(パフォーマンステストを除いて、それは別の話だ)。 – Mifeet