Java单元测试 - 并行化+多线程+无限时间

时间:2018-02-23 03:50:24

标签: java junit testng load-testing

我有一堆Java JUnit测试类,它们对Elastic Search进行REST调用。我正在尝试检查编排测试套件的最佳方法是什么,以便满足以下条件 -

  1. 使用不同的输入参数无限运行它们[帮我加载测试ElasticSearch并收集响应时间并检查ES等的缓存功能]
  2. 并行运行其中几个测试类
  3. 以多线程方式运行它们
  4. 注意#我知道有几种不同的方法可以实现它,例如使用JMeter等。我试图看看是否可以以编程方式实现。

    一个想法是在TestNG中创建一个启用了并行选项的测试套件,并设置一个cron来每隔X分钟调用一次测试套件。[我怎样才能在这里更改线程数?]

    谢谢!

1 个答案:

答案 0 :(得分:0)

您可以考虑以下选项:

  1. 使用JMH(Java Microbenchmark Harness)以多线程方式运行测试并获得许多指标。有jmh-tutorial示例项目可以帮助您入门
  2. 使用Apache JMeter工具,它附带JUnit Request采样器,它似乎是您正在寻找的东西,因为它旨在并行运行JUnit测试。此外,您将能够使用所有JMeter工作负载定义功能,包括加速,拆卸,保持负载的时间,定义每秒所需的请求和报告。查看How to Use JUnit With JMeter指南,了解如何通过JMeter
  3. 运行现有的JUnit测试