【问题标题】:Configuring JBehave to run multithread TestNG tests配置 JBehave 以运行多线程 TestNG 测试
【发布时间】:2013-04-18 13:40:58
【问题描述】:

我正在尝试创建一个同时使用 JBehave 和 TestNG 的概念验证。我想做的是在多个线程中同时运行一个故事,以测试我的代码线程安全。

我有一个简单的类,它只做一件事,计算给定整数值的模 7。我为这个类创建了一个简单的 BDD 测试。我已经按照 JBehave "Getting started" 文档中的描述设置了我的 BDD 测试。唯一的区别是,在我的 JUnitStory 文件中,我没有使用 JUnit 的 @Test 注释,而是使用了 TestNG 的

@org.testng.annotations.Test(threadPoolSize = 10, invocationCount = 100, timeOut = 10000)

当我运行测试时,前 70-90% 的情况一切正常,然后发生异常,其余运行失败

===============================================
    Default test
    Tests run: 100, Failures: 11, Skips: 0
===============================================

发生的异常是

FAILED: run
java.util.concurrent.RejectedExecutionException
    at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:1774)
    at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:768)
    at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:656)
    at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:92)
    at org.jbehave.core.embedder.StoryManager.submit(StoryManager.java:203)
    at org.jbehave.core.embedder.StoryManager.runningStory(StoryManager.java:138)
    at org.jbehave.core.embedder.StoryManager.filterRunning(StoryManager.java:122)
    at org.jbehave.core.embedder.StoryManager.runningStoriesAsPaths(StoryManager.java:107)
    at org.jbehave.core.embedder.StoryManager.performStories(StoryManager.java:93)
    at org.jbehave.core.embedder.StoryManager.runStories(StoryManager.java:81)
....

我对 JBehave 和 TestNG 都比较陌生,所以我想知道这可能只是一个配置问题,还是实际上是 JBehave 中的一个错误。

【问题讨论】:

    标签: java integration-testing bdd testng jbehave


    【解决方案1】:

    可能是线程池已关闭,而您(或 JBehave)正在尝试向其提交任务?

    【讨论】:

    • 不知道,但异常会表明这一点。这就是为什么我问它是否可能只是一个配置问题。
    【解决方案2】:

    在我看来,您只需要拥有 2 个或更多测试类,并配置您的 testing.xml 文件以将该包中的所有类作为一个组运行。因为 TestNG 通常会“按类”分叉线程(这是默认配置??),您需要有多个类,否则它将内联运行所有 10 个方法调用,一次一个。

    【讨论】:

      猜你喜欢
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多