Junit 는 GroboUtils 를 사용 하여 다 중 스 레 드 테스트 를 진행 합 니 다.

JUNIT 4,GroboUtils 로 다 중 스 레 드 테스트 진행
다 중 스 레 드 프로 그래 밍 과 테스트 는 항상 비교적 어 려 운 일이 다.특히 다 중 스 레 드 테스트.충분 한 테스트 만 으로 는 다 중 스 레 드 인 코딩 의 잠재 적 인 BUG 를 발견 할 수 있다.다음은 내 가 다 중 스 레 드 병행 프로그램 을 테스트 할 때 사용 하 는 비교적 간단 하고 사용 하기 좋 은 테스트 도구 라 이브 러 리 를 소개 한다.바로 JUNIT 4 와 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 패키지 로 실행 할 때 log 4 j 의 jar 파일 에 의존 해 야 합 니 다. 
참고 문장
[/url]http://www.cnblogs.com/shwen99/archive/2010/03/22/1691280.html[url]
이 글 은 GroboUtils 보다 더 강력 한 다 중 스 레 드 테스트 도 구 를 소개 하지만 무료 가 아 닌 것 같다.관심 있 는 건 깊이 알 아 봐 도 돼.

좋은 웹페이지 즐겨찾기