GroboUtils进行多线程测试

本文介绍如何通过GroboUtils扩展JUnit的功能,实现多线程并发执行测试用例。利用MultiThreadedTestRunner和自定义TestRunnable,可以有效地解决Junit在执行过程中因System.exit导致的线程终止问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

扩展Junit为多线程。

Junit源代码会执行System.exit退出,主线程终止jvm都停了,其他线程肯定执行不了的。

使用GroboUtils可以去下载它的jar包,官网链接点击打开链接

或者使用maven依赖:   

[html]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. <dependency>  
  2.      <groupId>net.sourceforge.groboutils</groupId>  
  3.      <artifactId>groboutils-core</artifactId>  
  4.       <version>5</version>  
  5. </dependency>  

 代码很简单:

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. @Test    
  2. public void testThreadJunit() throws Throwable {     
  3.     //Runner数组,相当于并发多少个线程。   
  4.     TestRunnable[] trs = new TestRunnable [10];    
  5.     for(int i=0;i<10;i++){    
  6.         trs[i]=new ThreadA();    
  7.     }    
  8.   
  9.     // 执行多线程测试用例的Runner  
  10.     MultiThreadedTestRunner mttr = new MultiThreadedTestRunner(trs);    
  11.       
  12.     // 执行所有线程   
  13.     mttr.runTestRunnables();    
  14.       
  15.       
  16. }    
  17.   // 自定义的线程
  18. private class ThreadA extends TestRunnable {    
  19.     @Override    
  20.     public void runTest() throws Throwable {    
  21.         // 测试内容  
  22.         myCommMethod2();    
  23.     }    
  24. }    
  25.   // 测试方法
  26. public void myCommMethod2() throws Exception {    
  27.     System.out.println("===" + Thread.currentThread().getId() + "begin to execute myCommMethod2");   
  28. }   


     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值