文档章节

使Junit可以测试多线程的插件:groboutils

A__17
 A__17
发布于 2017/08/17 23:24
字数 266
阅读 15
收藏 0

maven依赖:

<dependency>
	<groupId>net.sourceforge.groboutils</groupId>
	<artifactId>groboutils-core</artifactId>
	<version>5</version>
	<scope>test</scope>
</dependency>

注:如果下载失败,则可以选择手动添加
	1)手动下载依赖的地址:https://oss.sonatype.org/content/repositories/opensymphony-releases/net/sourceforge/groboutils/groboutils-core/5/
	2)将下载的jar包放到: repository\net\sourceforge\groboutils\groboutils-core\5 

举例:

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import net.sourceforge.groboutils.junit.v1.MultiThreadedTestRunner;
import net.sourceforge.groboutils.junit.v1.TestRunnable;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:spring-test.xml")
public class JunitMultiThreadPluginDemo {
	

	[@Test](https://my.oschina.net/azibug)
	public void testThreadJunit() throws Throwable {   
		// 线程数组,模拟并发
		TestRunnable[] testThreadArray = new TestRunnable[10];  
		for(int i=0; i<testThreadArray.length; i++){  
			testThreadArray[i]=new MultiThreadTest();  
		}  

		// 执行多线程测试用例的Runner
		MultiThreadedTestRunner mttr = new MultiThreadedTestRunner(testThreadArray);  
		
		// 并发执行
		mttr.runTestRunnables();  
		
	}  

	/**
	 * TestRunnable:表示一个测试线程的抽象类,子类需要实现该类的runTest()方法,在该方法中实现自己的测试代码
	 */
	private class MultiThreadTest extends TestRunnable {

		[@Override](https://my.oschina.net/u/1162528)
		public void runTest() throws Throwable {	
			 // 在runTest()方法中实现 Thread.run() 中的内容
			execute();
		}
	}
	
	public void execute() {
	
		// 业务逻辑
		System.out.println("在这里完成业务逻辑的相关代码。。");
		
		try {
			Thread.sleep(10000); // 模拟相关代码的执行
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	}

}

© 著作权归作者所有

共有 人打赏支持
A__17
粉丝 2
博文 100
码字总数 116076
作品 0
朝阳
Junit使用GroboUtils进行多线程测试

写过Junit单元测试的同学应该会有感觉,Junit本身是不支持普通的多线程测试的,这是因为Junit的底层实现上,是用System.exit退出用例执行的。JVM都终止了,在测试线程启动的其他线程自然也无...

凯文加内特
2015/04/13
0
1
JMockit+JUnit单元测试初始化问题

一、项目环境: WIN7 64位,Eclipse 4.2,JDK1.6,JUnit 4.11,JMockit 1.10 二、示例代码: 使用JUnit + JMockit进行单元测试,运行JUnit Case时,抛出以下错误: java.lang.IllegalStateEx...

dexterman
2014/08/27
0
0
JUnit 5.2.0 发布,Java 单元测试框架

JUnit 5.2.0 发布,JUnit 5.2.0 = Platform 1.2.0 + Jupiter 5.2.0 + Vintage 5.2.0,此次更新包括构建工具的增强、参数化测试的改进等。 更新信息如下: 构建工具功能增强以支持新的模块化体...

雨田桑
05/04
0
0
Junit的新长征-Junit5

这几天做新课时,忽然发现Junit在Junit4这个版本上停留了十几年之后,原来已经出到5了(后知后觉),花了些时间研究了下,发现还真是不简单,我们一起来看看JUnit5上出现了哪些让人激动的新变...

城下秋草
07/17
0
0
Android、JUnit深入浅出(一)——JUnit初步解析

Android、JUnit深入浅出(一)——JUnit初步解析 Android SDK 1.5已经将JUnit包含进来了,但是一直没有去深入了解,以前在使用一些C++的开源库中学习过与CPPUnit,简要分析过其主要框架,如下...

庸人谷
2012/12/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

弹性工作制的魔咒

简评:你找到了一份完美的工作 —— 可以提前离开公司,还可以在晚上从家里回复邮件。既然如此,你为什么还会有那么强的负罪感呢? 或许是弹性工作制魔咒在作祟。 很多享受弹性工作制的人会始...

极光推送
2分钟前
0
0
KAFKA介绍(分布式架构)

Kafka是一个分布式的、可分区的、可复制的消息系统。它提供了普通消息系统的功能,但具有自己独特的设计。这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统术语: Kafka将消息以...

明理萝
8分钟前
0
1
os::NodeHandle::subscribe回调函数绑定对象

void Foo::callback(const std_msgs::Empty::ConstPtr& message){}Foo foo_object;ros::Subscriber sub = handle.subscribe("my_topic", 1, &Foo::callback, &foo_object); 参考: ht......

itfanr
9分钟前
0
0
React16.4 开发简书项目 从零基础入门到实战

React16.4 开发简书项目 从零基础入门到实战 关注我的订阅号下载 React16.4 开发简书项目 从零基础入门到实战

蜗牛奔跑
12分钟前
0
0
day57-20180815-流利阅读笔记-待学习

社恐怎么办?这个漫画或许能治愈你 毛西 2018-08-15 1.今日导读 近日,芬兰漫画家卡罗利娜·科尔霍宁创作的绘本《芬兰人的噩梦》在中国大火。一时间书中的主人公马蒂成为了人们茶余饭后热议的...

aibinxiao
16分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部