При запуске JUnit из Eclipse (используя правый клик | запустить как - те же результаты на уровне проекта и на уровне отдельных тестов) мои тесты запускаются дважды.Один раз тесты запускаются как положено (и помечены только именем пакета), в другой раз я получаю ложные исключения нулевого указателя (и помечен полным именем пакета).У меня нет никаких наборов, и разные результаты на прогонах означают, что это не похоже на ту же проблему, что и у других, когда тесты выполнялись дважды .
Мой тестfile (минус импорт):
public class CommandHistoryTest extends TestCase {
private CommandHistory commandHistory;
@BeforeEach
public void initEach() {
commandHistory = new CommandHistory();
}
@Test
@DisplayName("On creation, canUndo and canRedo should be false")
public void testCreate() {
Assertions.assertFalse(commandHistory.canUndo());
Assertions.assertFalse(commandHistory.canRedo());
}
}
Как я уже сказал, это прекрасно работает на одном из проходов JUnit - он не работал, пока я не реализовал соответствующие биты commandHistory
и не передал, когда я их реализовал -но на другом проходе это дает мне исключение нулевого указателя на Assertions.assertFalse(commandHistory.canUndo());
Я могу с этим смириться, потому что я получаю действительный набор результатов теста, но видя все эти красные флаги на втором проходе, делаетмне грустно.Как остановить ложные тесты?
РЕДАКТИРОВАТЬ: я отмечаю, что в проводнике пакетов тест отображается как «> CommandHistoryTest.java».Я добавил еще один тестовый класс, который не показывает символ «>» в проводнике пакетов и который не запускается дважды.Что означает «>»?
ВНОВЬ РЕДАКТИРОВАТЬ: Нет, теперь я вижу, что «>» было частью интеграции с git, но ответ ниже.