Простой модульный тест выполняется бесконечно, когда запускается с уверенностью, вместо того, чтобы выполнять только Assert.assertTrue (true).
Когда линия:
@RunWith(PowerMockRunner.class)
вместе с классом модульного тестирования, расширяющим ApplicationTest (TestFX)
public class JUnitFXTest extends ApplicationTest
добавляются вместе к тесту!
Либо один работает просто отлично в одиночку, но при соединении тест запускается и никогда не заканчивается ...
Тот же тест проходит гладко с использованием поддержки Eclipse JUnit.
import org.junit.Assert;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.testfx.framework.junit.ApplicationTest;
import javafx.stage.Stage;
import org.powermock.modules.junit4.PowerMockRunner;
@RunWith(PowerMockRunner.class)
public class JUnitFXTest extends ApplicationTest
{
@Test
public void test() {
Assert.assertTrue(true);
}
@Override
public void start(Stage arg0) throws Exception {
}
}
Конфигурация плагина maven surefire:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19</version>
<configuration>
<includes>
<include>**/*Spec.*</include>
<include>**/*Test.*</include>
</includes>
</configuration>
зависимости powermock, mockito, junit, testfx maven:
<properties>
<junit.version>4.12</junit.version>
<powermock.version>1.7.4</powermock.version>
<testfx.version>4.0.15-alpha</testfx.version>
<mockito.version>2.23.0</mockito.version>
</properties>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>${powermock.version}</version>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-core</artifactId>
<version>${powermock.version}</version>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito2</artifactId>
<version>${powermock.version}</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${mockito.version}</version>
</dependency>
<dependency>
<groupId>org.testfx</groupId>
<artifactId>testfx-core</artifactId>
<version>${testfx.version}</version>
</dependency>
<dependency>
<groupId>org.testfx</groupId>
<artifactId>testfx-junit</artifactId>
<version>${testfx.version}</version>
</dependency>
Это отредактированная версия фактического модульного теста для приложения JavaFX, но отредактированная версия показывает те же симптомы, что и полный тест. Хотя лучше учиться, скрывая сложность теста.
Ожидаемый результат при запуске:
mvn test
есть:
Running JUnitFXTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.061 sec - in JUnitFXTest
Вы можете получить этот результат, закомментировав расширений ApplicationTest или @RunWith (PowerMockRunner.class).
Когда оба расширяют ApplicationTest и @RunWith (PowerMockRunner.class)
вместе в тесте
mvn test
застревает в
Running JUnitFXTest
навсегда ...
Я даже не знаю, как начать устранение проблемы, поэтому любые входные данные будут приветствоваться!