Junit 多线程测试

由于新启动一个线程相当于异步执行一个方法,在单元测试用很难执行。

经过搜索资料,有个GroboUtils的工具可以实现多线程测试,http://groboutils.sourceforge.net/

上一段简单的示例片段:

 @Test
    public void groboTest() throws Throwable {
        // 构造一个Runner
        TestRunnable runner = new TestRunnable() {
            @Override
            public void runTest() throws Throwable {
                // 测试内容
                System.out.println(Thread.currentThread().getName());
            }
        };
        int runnerCount = 100;
        // Rnner数组,想当于并发多少个。
        TestRunnable[] trs = new TestRunnable[runnerCount];
        for (int i = 0; i < runnerCount; i++) {
            trs[i] = runner;
        }
        // 用于执行多线程测试用例的Runner,将前面定义的单个Runner组成的数组传入
        MultiThreadedTestRunner mttr = new MultiThreadedTestRunner(trs);
        // 开发并发执行数组里定义的内容
        mttr.runTestRunnables();
    }

你可能感兴趣的:(Junit 多线程测试)