我正在自动执行我的其余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运行它们。

10-07 19:03