`

Junit使用GroboUtils进行多线程测试

阅读更多
用JUNIT4,GroboUtils进行多线程测试

多线程编程和测试一直是比较难搞的事情,特别是多线程测试。只用充分的测试,才可以发现多线程编码的潜在BUG。下面就介绍一下我自己在测试多线程并发程序时用的一个比较简单好用的测试工具类库。即JUNIT4和GroboUtils。
废话不多说,把代码贴出来,大家一看就明白了。

package com.junittest.threadtest;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.Hashtable;
import java.util.List;
import java.util.Map;
import java.util.Set;

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


import org.junit.Test;

public class MutiThreadTest {

	static String[] path = new String[] { "" };
	static Map<String, String> countMap = new Hashtable<String, String>();
	static Map<String, String> countMap2 = new Hashtable<String, String>();
	static Set<String> countSet = new HashSet<String>();
	static List<String> list = new ArrayList<String>();



	@Test
	public void testThreadJunit() throws Throwable {
		
		TestRunnable[] trs = new TestRunnable [10];
		for(int i=0;i<10;i++){
			trs[i]=new ThreadA();
		}

		MultiThreadedTestRunner mttr = new MultiThreadedTestRunner(trs);

		mttr.runTestRunnables();
	}
	

	private class ThreadA extends TestRunnable {
		@Override
		public void runTest() throws Throwable {

			myCommMethod2();
		}
	}



	public void myCommMethod2() throws Exception {
		System.out.println("===" + Thread.currentThread().getId() + "begin to execute myCommMethod2");
		for (int i = 0; i <10; i++) {
			 int a  = i*5;
			 System.out.println(a);
		}
		System.out.println("===" + Thread.currentThread().getId() + "end to execute myCommMethod2");
	}
}



附件是GroboUtils的jar包,运行时还需依赖log4j的jar文件。 

参考文章
[/url]http://www.cnblogs.com/shwen99/archive/2010/03/22/1691280.html[url]
该文章也介绍了ConTest测试工具,比GroboUtils更强大的多线程测试工具,但好像不是免费的。有兴趣的可以深入了解一下。
分享到:
评论
1 楼 rmn190 2012-10-11  
https://garygregory.wordpress.com/2011/09/09/multi-threaded-unit-testing/

用JDK1.5里的Future, 保证测试用的线程停止。

相关推荐

    Java多线程Junit测试GroboUtils-5.zip

    在多线程环境中使用JUnit进行测试会面临一些挑战,比如如何确保测试的线程安全,避免测试结果的不确定性,以及如何有效地模拟并发情况。GroboUtils-5可能就是为了解决这些问题而设计的工具集,它可能包含了用于创建...

    有关Junit和多线程测试的问题

    首先,GroboUtils为JUnit提供了一种名为`ThreadControl`的接口,它允许开发者暂停、恢复或终止测试线程。这样,我们可以在特定时刻检查测试对象的状态,确保它们在预期的时间点完成了预期的操作,避免了由于线程间的...

    JUNIT多线程测试

    本篇将深入探讨如何在JUnit中进行多线程测试,以及它的重要性。 首先,理解为什么需要进行多线程测试。在多线程环境中,不同的线程可能同时访问共享资源,这可能导致竞态条件、死锁或数据不一致等问题。因此,我们...

    多线程测试组件groboutils

    它能够与JUnit、TestNG等主流的测试框架无缝对接,让多线程测试成为现有测试流程的一部分,而不是孤立的存在。 在实际使用中,groboutils的文档详尽且易懂,提供了丰富的示例代码,帮助开发者快速上手。同时,其...

    GroboUtils-5-core.jar

    总之,GroboUtils-5-core.jar是Java开发者进行多线程测试时的得力助手,它以丰富的功能、简洁的API和深度的Junit集成,降低了多线程测试的复杂性和难度,提高了测试的覆盖率和可靠性。无论你是经验丰富的测试工程师...

    在Eclipse中使用JUnit4进行单元测试

    在Eclipse中使用JUnit4进行单元测试是一种常见的Java开发实践,它可以帮助开发者确保代码的正确性和稳定性。单元测试是软件开发中的重要环节,通过编写针对代码各个独立模块的测试用例,可以验证代码功能是否按预期...

    单元测试之道(Java):使用JUnit进行单元测试

    单元测试之道(Java):使用JUnit进行单元测试。单元测试是提高代码质量的有效手段,但大部分开发人员由于种种原因都不乐意进行单元测试。

    spring4+junit4.8 +多线程TheadTool

    6. **测试多线程应用**:在Junit4.8中,我们可以使用`@Rule`注解配合`org.junit.rules.ExternalResource`或`org.junit.rules.TestWatcher`来监控线程行为。此外,`org.junit.concurrent`包中的`Timeout`规则可以在...

    groboutils

    总的来说,groboutils是一个专注于多线程和测试的Java工具集,它提供了高级的多线程管理功能,并且集成了JUnit,增强了测试能力。通过这个单一的JAR文件,开发者可以轻松地在其项目中引入这些实用工具,提高代码的...

    junit单元测试junit单元测试junit单元测试

    使用JUnit进行单元测试时,开发者可以断言(Assert)代码的输出是否符合预期。JUnit提供了多种断言方法,如assertEquals()用于比较预期值与实际值,assertTrue()用于验证条件是否为真,assertFalse()用于验证条件...

    JUnit和单元测试入门简介

    JUnit 单元测试入门简介 JUnit 是一个开源的 Java 测试框架,用于编写和运行可重复的测试。它主要用于白盒测试、回归测试。单元测试是最小粒度的测试...同时,JUnit 也提供了许多特征和工具来帮助开发者进行单元测试。

    Junit单元测试Junit单元测试Junit单元测试Junit单元测试

    2. 集成测试:Junit可以用于测试多个类或方法的集成正确性。 3. 自动化测试:Junit可以用于自动化测试,提高测试效率和测试覆盖率。 Junit单元测试的优点包括: 1. 高度灵活性:Junit提供了一个统一的测试框架,...

    Ant 使用Junit进行单元测试

    接下来,我们将深入探讨如何使用Ant结合JUnit进行单元测试。 首先,我们需要了解Ant的基本概念。Ant是一个由Apache基金会开发的任务驱动的构建系统,它的核心是build.xml文件,这是一个XML格式的脚本,定义了构建...

    junit4测试jar包

    在实际开发中,使用JUnit4进行单元测试能够帮助我们确保代码的质量,发现并修复bug,提高软件的稳定性。正确地利用JUnit4提供的功能,可以有效地提高测试效率,并使测试代码更加整洁和易于维护。

    实验5 JUnit测试框架的使用.doc

    JUnit 测试框架的使用 JUnit 是一个流行的单元测试框架,广泛应用于 Java 项目中,本文将详细介绍 JUnit 测试框架的使用,并提供了两个示例来帮助读者更好地理解和掌握 JUnit 的使用。 一、JUnit 测试框架的使用 ...

    使用JUnit进行单元测试PPT

    【使用JUnit进行单元测试】 单元测试是软件开发过程中的重要环节,它主要目的是验证程序的各个独立组件(如方法或类)是否按照预期工作。JUnit是Java编程语言中最常用的单元测试框架,它允许开发者创建和运行针对...

    GroboUtils-5-core

    6. **性能测试**:除了基本的功能测试,GroboUtils 还支持进行性能测试,衡量在多线程环境下代码的运行效率,帮助优化代码性能。 7. **定制化测试**:GroboUtils 允许用户根据自己的需求定义测试规则和逻辑,提供...

    在Eclipse中使用JUnit进行单元测试

    Eclipse 中使用 JUnit 进行单元测试 单元测试是软件测试中的一种方法,旨在对软件中的每个单元(如函数或方法)进行测试,以确保其正确性和可靠性。在 Eclipse 中使用 JUnit 进行单元测试可以简化测试过程,提高...

Global site tag (gtag.js) - Google Analytics