使用junit进行多线程并发测试
Posted 没有梦想-何必远方
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用junit进行多线程并发测试相关的知识,希望对你有一定的参考价值。
没使用过junit的,请看上篇博客。
这篇讲一下如何使用junit进行多线程并发测试 ~
实际上junit是不支持多线程的,你可以试试,在test方法里面new个 Thread ~ 会报错 ~
那你会问我在这还扯什么犊子 ~ ~~
我当然不是在这扯犊子了
有插件 ~~ 对,有插件!
<!-- 包依赖 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>$junit.verion</version>
<scope>test</scope>
<optional>true</optional>
</dependency>
<!-- junit 多线程测试 -->
<dependency>
<groupId>fakepath</groupId>
<artifactId>groboutils-core</artifactId>
<version>5</version>
<scope>test</scope>
</dependency>
在junit基础上多引入一个包,这个包可以下载不下来,别着急,待会我上传一个 ~ 放到本地仓库就好了 ~ 下载链接
使用方法也是非常之简单:
@Test
public void MultiRequestsTest()
// 构造一个Runner
TestRunnable runner = new TestRunnable()
@Override
public void runTest() throws Throwable
//你的测试内容
;
int runnerCount = 30;
//Rnner数组,想当于并发多少个。
TestRunnable[] trs = new TestRunnable[runnerCount];
for (int i = 0; i < runnerCount; i++)
trs[i] = runner;
// 用于执行多线程测试用例的Runner,将前面定义的单个Runner组成的数组传入
MultiThreadedTestRunner mttr = new MultiThreadedTestRunner(trs);
try
// 开发并发执行数组里定义的内容
mttr.runTestRunnables();
catch (Throwable e)
e.printStackTrace();
好了,大功告成!
以上是关于使用junit进行多线程并发测试的主要内容,如果未能解决你的问题,请参考以下文章