Я новичок в модульном тестировании и поэтому хотел бы сделать практическое упражнение, чтобы ознакомиться с картой 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) Какой должен быть идеальный способ тестирования метода множителя?
Я довольно невежественный здесь. Если кто-то может ответить на эти вопросы, я бы очень признателен. Спасибо.
Просто мелочь - все ваши тесты имеют «Результат» в виде строки. Эта строка должна быть информативной - в первой, например, вы можете вместо этого сказать «5 * 1! = 5». –
Это 5 вопросов, а не 1, – Raedwald