在本地使用GroboUtils进行多线程测试

在本地开发的时候有时候需要用到多线程去测试某些类或者方法是否有线程安全问题,由于本地开发机器硬件限制通过硬编码的方式往往难以达到多个线程同时访问的效果,这时可以考虑使用GroboUtils达到目的。顺便提一句,使用Junit是不行的,去看源代码会发现junit是System.exit退出用例执行的,主线程终止jvm都停了,其他线程肯定执行不了了。

    使用GroboUtils可以去下载它的jar包,官网链接点击打开链接,或者使用maven依赖:

    

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

repository是 https://oss.sonatype.org/content/repositories/opensymphony-releases,然后就可以使用它进行测试了。代码很简单:

    @Test  
    public void testThreadJunit() throws Throwable {   
        //Runner数组,相当于并发多少个。 
        TestRunnable[] trs = new TestRunnable [10];  
        for(int i=0;i<10;i++){  
            trs[i]=new ThreadA();  
        }  

        // 用于执行多线程测试用例的Runner,将前面定义的单个Runner组成的数组传入 
        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"); 
    } 


     


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值