続きは ここから始まります -> JUnit パート I
また、このメソッドがどのように機能するかについても説明します
Assert.fail(String)
。このメソッドが呼び出される場合、テストは失敗します。クラスの他のメソッドがAssert
チェックできない場合に便利です。の受け入れを禁止する必要があるとしましょうnew String(“”)
。コンストラクターでこれを実行して、 の受け渡しを無効にしてみましょうname = “” || null, age = 0; Sex = null
。行きましょう...テスト用にフィールドを追加しました
private User user;
private User user1;
private User user2;
private User userNotAdd;
private User userNotAdd1;
そして方法を変えましたsetUp()
@Before
public void setUp() throws Exception {
user = new User("Eugene", 35, Sex.MALE);
user1 = new User("Marina", 34, Sex.FEMALE);
user2 = new User("Alina", 7, Sex.FEMALE);
userNotAdd = new User("", 0, null);
userNotAdd1 = new User(null, 0, null);
}
3 つのテスト方法を追加しました
@Test
public void newUser_EMPTY_NAME() {
for (User user : User.getAllUsers()){
if (user.getName() != null && user.getName().isEmpty()) {
Assert.fail("Попытка создания пользователя с пустым именем");
}
}
}
@Test
public void newUser_AGE_ZERO() {
for (User user : User.getAllUsers()) {
if (user.getAge() <= 0) {
Assert.fail("Попытка создания пользователя c не допустимым возрастом");
}
}
}
@Test
public void newUser_SEX_NO_NULL() {
for (User user : User.getAllUsers()) {
if (user.getSex() == null) {
Assert.fail("Попытка создания пользователя с указанием пола = null");
}
}
}
テストでは、追加されたユーザーのリストを調べて、無効なデータがないかどうかを確認します。テストを一括で実行すると、次の図が表示されます... コンストラクターのテストが壊れており、さらにいくつかのテストもキャッチされていることがわかります。次に、追加しないようにコンストラクターを変更する必要があります。ユーザーのリストに対して無効なパラメーターを持つユーザーの場合は、次のようにしてみましょう。
public User(String name, int age, Sex sex) {
if (name != null && !name.isEmpty() && age > 0 && sex != null){
this.name = name;
this.age = age;
this.sex = sex;
if (!hasUser()) {
countId++;
this.id = countId;
allUsers.put(id, this);
}
}
}
テストを実行すると、すべてが美しいことがわかります。 要約すると、JUnitはコードをテストでカバーするための優れたツールです。JUnit はMavenと連携するとさらにうまく機能します。プロジェクトをビルドするとき、Mavenはすべてのテストを確実に実行し、完成したプロジェクトをビルドします。ただし、テストが失敗した場合、プロジェクトはビルドされず、その理由がわかります。どこに故障があるのかを正確に把握しやすくなります。JUnitの 2 番目の利点は、リファクタリングの場合です。JUnitテストは、プログラムのロジックが壊れていないことを確認するのに役立ちます。そして、大規模なプロジェクトでは、自動テスト システムなしでは生きていけません。可能かもしれませんが、プロジェクトはカタツムリのような速度で進みます... またはそのようなものです... コードをテストで適切にカバーすると、そうすれば、クライアントである私たちの製品がうまく機能することを確信できます。追記:ヴィクトル・セルゲイエフに深く感謝の意を表します!彼が私たちに教えてくれたビデオレッスンへのリンクは次のとおりです。
ご清聴ありがとうございました!!!良い気分を持ってください!そして神があなたをヒンドゥー法典から救ってくださいますように! ...また、この記事のソース コードを詳しく調べることに興味のある人がいたら、ノックしてください... ここで最初の部分を共有します - JUnit パート I
GO TO FULL VERSION