如何通过 JSP 在 Servlet 中同时 运行 多个 JUNIT 测试用例

How to run multiple JUNIT test cases concurrently in Servlet via JSP

我有两个独立的 Junit 测试用例。我设计了一个 JSP 页面以从 users.In servlet doPOST 方法中一次获取 6 个值,我旨在获取这 6 个值。 之后,我在 servlet 中编写了以下代码来执行 Junit 测试用例,

Junit test cass -1 and 2:

Result result = JUnitCore.runClasses(Junit1.class);
for (Failure failure : result.getFailures())
{
    System.out.println(failure.toString());
} 

Result result = JUnitCore.runClasses(Junit2.class);
for (Failure failure : result.getFailures())
{
    System.out.println(failure.toString());
}            

用上面的方法,是运行一个一个的,不是并发的。谁能帮我同时执行两个 Junit 测试用例 运行。

如果您使用 TestNG,它提供了开箱即用的良好多线程测试,并且与 JUnit 测试兼容(您需要进行一些更改)。例如,您可以 运行 这样的测试:

@Test(threadPoolSize = 5, invocationCount = 10,  timeOut = 5000)
public void runConcurrently() {
  ...
}

这意味着 doSomething() 方法将被 5 个不同的线程调用 10 次。

话虽如此,如果您正在谈论 运行 同时进行多个测试,我建议您看一下 ant parallel 任务,在并行标记中您指定多个任务 运行 像下面并行的那样,每个任务 运行 在它自己的线程中:

<target name="output-1-2-3-kill-notepad-output-4">
    <echo message="1" />
    <parallel>
        <echo message="2" />
        <exec executable="notepad.exe" timeout="3000" />
        <echo message="3" />
    </parallel>
    <echo message="4" />
</target>

所以在这里它将运行在两个不同的线程中回显并在另一个线程中执行标记。您可以通过指定多个单元测试来执行相同的操作。