Я новичок в модульном тестировании и поэтому хотел сделать некоторое практическое упражнение, чтобы ознакомиться с фреймворком 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) Каким должен быть идеальный способ проверки метода умножения?
Я здесь довольно невежественен. Если кто-то может помочь ответить на эти вопросы, я был бы очень признателен. Спасибо.