@Test
public void test()
{
Runtime.getRuntime().addShutdownHook(new Thread()
{
@Override
public void run()
{
System.out.println("Test clean up triggered");
}
});
}
以下是我的POM的相关部分:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<parallel>classes</parallel>
<threadCount>10</threadCount>
</configuration>
</plugin>
编辑:当我在@beforeClass
方法中添加关闭挂钩时,问题就解决了。当我将它添加到@test
方法中时,我遇到了问题。我希望能够在任何时候添加钩子。
关机钩子实际上是调用的,我认为问题来自与Maven关机钩子相关联的system.out.println
调用。
直接使用Eclipse进行测试,我得到了以下结果:
Test clean up triggered
并尝试稍微不同的测试版本:
@Test
public void test()
{
System.out.println("Testing");
Runtime.getRuntime().addShutdownHook(new Thread()
{
@Override
public void run()
{
try {
Files.createFile(Paths.get("test1"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
assertTrue(true);
}
当在我的pom.xml中启用强制使用JUnit47提供程序时,我得到: pom.xml如下所示
我们用Rest Assured和JUnit 5编写了API测试,并试图并行运行测试,因为测试之间没有依赖关系。我们已经尝试了JUnit 5的实验性并行执行,方法是设置: …但我们已经看到,通常当测试失败时,测试报告中不包含它们的输出。 这是已知问题吗?有什么变通方法吗?
在Gradle有可能实现吗?
有4个类包含测试< code>TestClass1、TestClasss2、TestClass3、TestClass4。您需要创建2个测试套件,每个套件将包含2个类,并使用< code>Maven surefire插件并行运行它们。 我创建了两个包含以下内容的xml文件: 和 也添加到: 接下来,我用命令< code>mvn clean test运行项目,项目将要运行,但是测试没有开始。我哪里错了
我正在将并行执行引入我的testNG套件中。当我将“parallel”设置为“tests”时,两个浏览器打开,两个测试的第一个类同时开始--这是我所期望的。当我将其设置为“classes”时,我希望第一个测试中的两个类同时开始,但是只有一个浏览器打开,第一个类中的第一个方法执行,然后用第二个类中的第一个方法打开一个新的浏览器,依此类推。谁能告诉我我做错了什么? 下面是我的xml文件:
我正在一个硒自动化项目中运行回归测试。测试是用 JUnit 5.5.1 编写的。没有 Surefire 或故障安全插件(测试不在 src/测试/java 下,它们位于 src/主/java 下,因为不是单元测试)。 问题是,当我使用.bat文件(执行mvn exec:java…)运行代码时,没有一个测试被执行,我不确定我的配置是否完全正确。在最坏的情况下,这是我使用的JUnit版本的一个bug(我