Я использую IntelliJ IDEA 2018.3.1 и пытаюсь проверить класс с помощью встроенного средства запуска тестов. Тест, похоже, компилируется, но не запускается.
Это многомодульный проект Maven, и другие модули имеют запущенные тесты. Однако я не смог найти каких-либо различий между проектами. Плагин surefire специально определен для этого проекта, а для <skipTests>
специально установлено значение false. Я повторно импортировал проект несколько раз на случай, если конфигурация maven влияет на встроенный бегун.
Изображение ниже - единственный вывод, который я получаю. Отладка / Точки останова не остановятся.
Если кто-то может помочь или бросить в меня возможности, я был бы признателен.
Edit:
Вот упрощенная версия теста, который я пытаюсь запустить:
package com.jason;
// imports
@RunWith(BlockJUnit4TestRunner.class)
public class MyTest {
private ClassUnderTest clazz;
private DaoClass dao;
@Before
public void setUp() {
// using Mockito to mock the DaoClass
// injecting the DAO into the ClassUnderTest
}
@Test
public void testMethod() {
Assert.assertTrue(true);
}
}
Я пытаюсь запустить тест, щелкнув правой кнопкой мыши метод, помеченный @Test
, и щелкнув «Выполнить». Опция для запуска теста появляется в контекстном меню. Когда я это делаю, все, что появляется, это скриншот.
Я попытался сделать следующее для устранения проблемы:
- В файле
pom.xml
для соответствующего модуля я вручную указал плагин surefire в разделе <build><plugins>
. Затем я сделал реимпорт, чтобы забрать изменения.
- Я установил точки останова в коде и запустил тест в режиме отладки.
- Я попытался зарегистрировать вывод, как с помощью регистратора slf4j, так и System.out.println ()
- Я попытался найти какие-либо различия в файле IDEA .iml между модулем, в котором выполняются тесты, и этим модулем, в котором тесты не запускаются.
- Я написал очень простой тестовый класс с методом, помеченным
@Test
и содержащим строку Assert.assertTrue(true)
Редактировать 2
Попытка запустить mvn test -Dcontrollername приводит к следующему выводу:
Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test (default-test) on project rma-svc: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test failed: The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
Редактировать 3
Я обновил свой плагин Maven surefire до версии 2.22.2 и больше не вижу проблемы с раздвоенной JVM. Однако при работе mvn test -DskipTests=false
выводится No tests were executed!