Assertions should not be used in production code
Стоит ли использовать JUnit Asserts в ветке классов main, если по определению они должны быть в test.
К примеру, писать следующий метод:
public void verifyNameField(String name) {
Assert.assertEquals(name, $("#ID").text());
}
вместо того, чтобы написать get-метод и применить Assert уже при его вызове на уровне test.
Ищу доступное объяснение, почему так не следует делать, или почему следует, или это не имеет значения.
Этот совет относится к нормальным проектам, в которых содержится и код, и тесты. Соответственно,
в папке src/main/java - продакшн код, и в нём действительно не нужны ассерты.
В папке src/test/java - тесты, и только там должны быть ассерты.
А если у вас типичный “проект автоматизации”, в котором нет продакшн кода, а есть только автотесты, то там везде можно использовать ассерты. Там вообще разделение на main/test не имеет смысла.
Тут ещё зависит, как Вы запускаете проект.
Если через тест раннер - в main можно вообще ничего, кроме пары заглушек, не писать, а всё писать в test.
Если же через Java runner - то у Вас будут проблемы, тогда придётся как-то хитрить.