【问题标题】:How to run multithreaded/stress tests with junit5?如何使用 junit5 运行多线程/压力测试?
【发布时间】:2019-04-26 12:42:54
【问题描述】:

我正在使用 TestNG 支持多线程和压力测试,我想使用 JUnit5 代替 TestNG,但我找不到如何做。

JUnit4 不支持多线程测试:Concurrent JUnit testing

使用 TestNG 进行多线程测试非常简单:

@Test(threadPoolSize = 3, invocationCount = 10,  timeOut = 10000)
public void testServer() {
  ...
}

见: https://testng.org/doc/documentation-main.html#parallel-tests https://github.com/cbeust/testng/blob/master/src/main/java/org/testng/annotations/Test.java#L57

如何使用 JUnit5 运行多线程测试?

【问题讨论】:

  • 也许我错了,但 JUnit 并非旨在执行压力测试。您可以使用 JUnit 4 或 5 做同样的事情,但您必须自己编写代码来启动线程。
  • 好问题。我不认为 Junit5 社区开箱即用。 (太糟糕了!)

标签: testng junit5


【解决方案1】:

最简单的方法是使用JUnit5 + Gradle,只需添加

tasks.withType(Test) {
    maxParallelForks = Runtime.runtime.availableProcessors()
}

build.gradle 中,Gradle 会根据可用处理器或您设置的其他选项自动并行运行所有测试类(有关更多信息,请参阅https://guides.gradle.org/performance/#parallel_test_execution

最好, 奥列格

【讨论】:

  • 我想用多个线程运行相同的测试来测试多线程代码或进行压力测试。您的答案是并行运行不同的测试。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-28
  • 1970-01-01
  • 2021-05-25
相关资源
最近更新 更多