我正在自动执行我的其余api,并搜索要与junit5一起使用的性能测试框架。我遇到了zerocode tdd,但它没有帮助它给出错误,所有测试都失败了。我的测试方法是正确的,并且在由junit jupiter正常调用时有效。当我对同一件事使用zerocodeLoadRunner时,它不起作用。
import org.jsmart.zerocode.core.domain.LoadWith;
import org.jsmart.zerocode.core.domain.TestMapping;
import org.jsmart.zerocode.core.runner.parallel.ZeroCodeLoadRunner;
import org.junit.runner.RunWith;
@LoadWith("loadConfig.properties")
@TestMapping(testClass = MyTest.class, testMethod = "myMethod")
@RunWith(ZeroCodeLoadRunner.class)
public class LoadTest {
}
我收到的错误消息如下。
2019-09-09 12:35:57,191 [main] ERROR org.jsmart.zerocode.core.runner.parallel.ZeroCodeLoadRunner - myPackage.LoadTest.myMethod Failed. See target/logs -or- junit granular failure report(csv) -or- fuzzy search and filter report(html) for details
用于此的依赖关系如下
<dependency>
<groupId>org.jsmart</groupId>
<artifactId>zerocode-tdd-jupiter</artifactId>
<version>1.3.8</version>
</dependency>
我不想使用任何测试工具,因此我将继续进行下去。
最佳答案
您完成的设置适用于JUnit4
(但不适用于JUnit5,因为JUnit5不支持Runners
)。对于JUnit5,您需要使用以下扩展的零码。
@ExtendWith({ParallelLoadExtension.class})
此JUnit5-Jupiter-Parallel-Load-Extension页具有确切的详细信息。请尝试以下方式:
例如
@LoadWith("load_generation.properties")
@ExtendWith({ParallelLoadExtension.class})
public class JUnit5LoadCommonLoadTest {
@Test
@DisplayName("testing parallel load for X, Y and Z scenarios")
@TestMappings({
@TestMapping(testClass = JUnit5Test.class, testMethod = "testX"),
@TestMapping(testClass = JUnit5Test.class, testMethod = "testY"),
@TestMapping(testClass = JUnit5MoreTest.class, testMethod = "testZ")
})
public void testLoad_xyz() {
// This space remains empty
}
}
您可以访问Github JUnit5 Load examples进行
JUnit5 Jupiter
负载测试,以及如何通过JUnit5 Suite
运行它们。