java 使用Zerocode运行Junit测试套件

a1o7rhls  于 2023-10-14  发布在  Java
关注(0)|答案(2)|浏览(122)

我正在尝试使用Zerocode运行Junit(4)的负载测试。通过遵循以下教程,我能够运行现有的Junit测试类

我有一个可以正常工作的Junit测试套件,我想知道如何使用zerocode来启动这个测试套件,这样它就可以运行负载测试的所有测试类中的所有测试。上面的例子描述了如何运行一个或几个选定的测试方法。

tzdcorbm

tzdcorbm1#

我认为你不能用Zerocode做这件事。
如果你想重用你的JUnit测试,你需要创建一个LoadScenario测试类。在这个类中,你需要告诉你将要使用哪个测试,以及它应该运行哪个方法。
例如

@LoadWith("load_generation.properties")
@TestMapping(testClass = PostCorpLoanServiceTest.class, testMethod = "testPostNewLoan_crudOperations")
@TestMapping(testClass = PutCorpLoanServiceTest.class, testMethod = "testPutAmendExistingLoan")
@TestMapping(testClass = GetScreeningServiceTest.class, testMethod = "testGetScreeningLocalAndGlobal")
@RunWith(ZeroCodeMultiLoadRunner.class)
public class JunitParallelMultiScenarioTest {

}

看一下github上的repo:https://github.com/authorjapps/performance-tests。它是ZeroCode框架(框架的负载测试部分)的展示项目。它包含在Zerocode框架的帮助下创建的负载测试示例。

z4iuyo4d

z4iuyo4d2#

你不需要Zerocode来实现这一点。您可以简单地使用Maven SureFire插件来并行运行您的Suite类(它引用了其他测试类)。

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>3.0.0-M3</version>
                <configuration>
                    <includes>
                        <include>org.jsmart.samples.tests.AnyTestSuite</include>
                    </includes>
                    <parallel>classes</parallel>
                    <!--<parallel>methods</parallel>--> <!-- Or use methods -->
                </configuration>
            </plugin>

**注意:**在这种情况下,你需要确保你所有的测试方法/类实际上/潜在地可以并行运行。这意味着-在数据方面,你需要确保你已经正确地设计了它们,所以它们是独立的,或者不打算相互重叠或阻塞。

这也适用于下面的情况,但是这里您自己挑选测试,并确保它们可以输入到并行运行程序中。
1)但是如果您在单独的测试类(而不是Suite类)上使用@RunWith(ZeroCodeUnitRunner.class),那么您将在“target”文件夹中获得一个漂亮的CSV报告。
然后,您可以使用此报告为您的项目或业务受众生成各种吞吐量graphs/statistics等。请参阅此blog中的Extract useful information from the data部分。
2)如果你需要控制你的平行跑步,例如:如果你想启动50 users in 60secs100 users in 60 secs1000 users in 300 secs等,那么你需要Zerocode runners来帮助你轻松实现这一点。

@RunWith(ZeroCodeLoadRunner.class)
-or-
@RunWith(ZeroCodeMultiLoadRunner.class)

相关问题