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

时间:2015-02-08 10:41:37

标签: java jsp servlets junit

我有两个单独的Junit测试用例。我设计了一个JSP页面,一次从用户那里得到6个值。在servlet doPOST方法中,我设计得到这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测试用例。

1 个答案:

答案 0 :(得分:0)

如果您使用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>

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