Как проверить, не метод ли ничего. Например, у меня есть статический метод, который генерирует исключение, если заданный аргумент строки является нулевым или пустым (он предназначен для проверки аргумента). Сейчас мои тесты выглядеть следующим образом:JUnit4 - Тест, если метод ничего не делает
@Test
public void notNullOrEmpty_doesNothingIfValueIsNotNullOrEmpty() {
Require.notNullOrEmpty(Generate.randomString());
assertTrue(true); // <- this looks very ugly
}
@Test(expected = IllegalArgumentException.class)
public void notNullOrEmpty_throwsExceptionIfValueIsNull() {
Require.notNullOrEmpty(null);
}
@Test(expected = IllegalArgumentException.class)
public void notNullOrEmpty_throwsExceptionIfValueIsEmpty() {
Require.notNullOrEmpty("");
}
Как я могу сделать первый тест пройти без вызова assertTrue(true)
, есть Assert.fail()
есть что-то вроде Assert.pass()
?
EDIT: Добавлен отсутствующий (expected = IllegalArgumentException.class)
на 3-й тест
В случае Требовать класс действительно очень просто проверить на нуль или пустой рассмотреть возможность использования хорошо испытанные классы из библиотеки гуавы Preconditions.checkArgument (Strings.isNullOrEmpty («туЗЬптд»)); – sandrozbinden
Также имейте в виду осторожно использовать случайные сгенерированные строки в качестве тестового ввода. См. Http://stackoverflow.com/questions/3441686/what-are-the-downsides-using-random-values-in-unit-testing – sandrozbinden