私は単体テストを初めて使用するので、jUnit フレームワークに慣れるための実践的な演習を行いたいと考えていました。
文字列乗算器を実装するプログラムを作成しました
public String multiply(String number1, String number2)
乗数法をテストするために、次のテスト ケースで構成されるテスト スイートを作成しました (必要なすべての整数解析などを含む)。
public class MultiplierTest {
@Test
public void testMultiply() {
Multiplier multiplier = new Multiplier();
// Test for 2 positive integers
assertEquals("Result", 5, multiplier.multiply("5", "1"));
// Test for 1 positive integer and 0
assertEquals("Result", 0, multiplier.multiply("5", "0"));
// Test for 1 positive and 1 negative integer
assertEquals("Result", -1, multiplier.multiply("-1", "1"));
// Test for 2 negative integers
assertEquals("Result", 10, multiplier.multiply("-5", "-2"));
// Test for 1 positive integer and 1 non number
assertEquals("Result", , multiplier.multiply("x", "1"));
// Test for 1 positive integer and 1 empty field
assertEquals("Result", , multiplier.multiply("5", ""));
// Test for 2 empty fields
assertEquals("Result", , multiplier.multiply("", ""));
}
}
同様の方法で、境界ケース (数値は int 値と見なす) または虚数を含むテスト ケースを作成できます。
1) しかし、上記の最後の 3 つのテスト ケースの期待値はどうなるでしょうか? (エラーを示す特別な番号?)
2) 見逃した追加のテスト ケースは?
3) assertEquals() メソッドは乗数メソッドをテストするのに十分ですか、それとも assertTrue()、assertFalse()、assertSame() などの他のメソッドが必要ですか?
4) これは、テスト ケースを作成する正しい方法ですか? このエクササイズから「正確に」どのように恩恵を受けていますか?
5)乗数法をテストする理想的な方法は何ですか?
私はここでかなり無知です。誰かがこれらの質問に答えるのを助けることができれば、私はそれを大いに感謝します. ありがとうございました。