当前位置: 首页 > 知识库问答 >
问题:

使用Zerocode运行Junit测试套件

岑明辉
2023-03-14

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

  • 使用零代码框架使用JUnit进行负载测试

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

共有2个答案

周子平
2023-03-14

您不需要零代码来实现这一点。您可以简单地使用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报告。

然后,您可以使用此报告为您的项目或业务受众生成各种吞吐量图表/统计数据等。请参阅本博客中的“从数据中提取有用信息”一节。

2) 如果您需要控制并行运行,例如,您想在60秒内启动50个用户,或者在60秒内启动100个用户,或者在300秒内启动1000个用户,那么您需要Zerocode Runner来帮助您轻松实现这一点。

@RunWith(ZeroCodeLoadRunner.class)
-or-
@RunWith(ZeroCodeMultiLoadRunner.class)
曹钊
2023-03-14

我想你不能用零代码来做这件事。

如果要重用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框架的帮助下创建的负载测试示例。

 类似资料:
  • 我已经编写了一个JUnit测试套件,用于运行多个测试用例。 现在我想一次运行我的测试套件类(AllTest.java),以便所有测试都由一个类触发、执行和管理。我知道maven故障保护插件是可用的,但是有没有其他更简单的方法从maven调用JUnit测试套件呢? 我不想使用另一个插件。 这是我当前的maven-故障安全-插件配置:

  • 问题内容: 如何从命令行运行Junit 4.8.1测试套件?另外,我想使用JUnit 4.8引入的类别,有没有一种方法可以从命令行指定要运行的类别。 问题答案: 从4.8开始,无法从命令行指定类别。

  • 从很久以前的某个版本开始(大约是1.b.35版),Nutz 就偷偷的加入了 maven 的 pom.xml 文件, 极好的解决了测试时需要依赖其他 jar 包的问题,接下来就让我们使用 Maven 来进行 JUnit 测试吧。 Nutz 在 Github 的 地址为 https://github.com/nutzam/nutz(Git@OSC镜像 https://git.oschina.net/n

  • 现在您已经了解了TestNG及其各种测试,您现在必须担心如何重构现有的JUnit代码。 没有必要担心,因为TestNG提供了一种按照自己的节奏从JUnit转换到TestNG的方法。 您可以使用TestNG执行现有的JUnit测试用例。 TestNG可以自动识别并运行JUnit测试,因此您可以将TestNG用作所有现有测试的运行器,并使用TestNG编写新测试。 您所要做的就是将JUnit库放在Te

  • 确实给了我们单独的JVM,但是JUnit(当然)不知道单独的测试,所以报告是非常无用的。 (c)每个JUnit类一个测试: } 我们显然在这里遗漏了一些东西,因为我们的测试情况并不罕见!任何建议都非常感谢。