你是否有喝咖啡等待JUnit结果的经历?
zhanghuangzhu 发表于 2007-05-28 01:31:47作者:张黄瞩 来源:原创
评论数:6 点击数:1,710 投票总得分:3 投票总人次:1
关键字:p-unit
摘要:
你是否有喝咖啡等待JUnit结果的经历? 你是否抱怨过机器运行速度太慢或是单元测试suite太庞大? 甚至升级机器也无济于事? 因为他们被单线程执行着!至少我有过,不仅仅是喝咖啡,甚至是吃中饭,睡午觉,等待JUnit运行结果,以前总是抱怨机器太慢,现在,似乎情况有些变化,看下面的一个例子,有2个测试案例类[1],每个类4个方法,每个方法休息5秒钟,那么做一个简单的算术题,需要多长时间?
2*4*5=40秒,完全正确,你可以去倒一杯水,然后回来看结果了!
我机器上JUnit的运行结果为:
Run as -> JUnit - 40268ms
会有其他不同结果吗?p-unit给你答案,下面这段代码是运行p-unit的main函数:
答案是什么?
每个方法还是休息了5秒钟, 结果是20秒,不是40秒。
下载 p-unit-0.10 0.10 release: https://sourceforge.net/project/showfiles.php?group_id=195736&package_id=232587&release_id=509772
p-unit 主页: http://p-unit.sourceforge.net
[1] 测试案例类
更多p-unit消息: http://blog.csdn.net/zhanghuangzhu
2*4*5=40秒,完全正确,你可以去倒一杯水,然后回来看结果了!
我机器上JUnit的运行结果为:
Run as -> JUnit - 40268ms
会有其他不同结果吗?p-unit给你答案,下面这段代码是运行p-unit的main函数:
public static void main(String[] args) {
SoloRunner runner = new SoloRunner();
runner.setExecutorPool(new ExecutorPoolImpl(2));
runner.run(LongTimeExecutionPUnitTestSuite.class);
}答案是什么?
[solo] Started running samples.LongTimeExecutionPUnitTestSuite
TestSuite: samples.LongTimeExecutionPUnitTestSuite
samples.LongTimeExecutionTest1
samples.LongTimeExecutionTest2
test1() - [5021.0ms]
test1() - [5021.0ms]
test2() - [5003.0ms]
test2() - [5022.0ms]
testA() - [5020.0ms]
testA() - [5000.0ms]
testB() - [5001.0ms]
testB() - [5033.0ms]
total: 8, failures:0 (GREEN) - 20360.0ms
TestSuite: samples.LongTimeExecutionPUnitTestSuite
samples.LongTimeExecutionTest1
samples.LongTimeExecutionTest2
test1() - [5021.0ms]
test1() - [5021.0ms]
test2() - [5003.0ms]
test2() - [5022.0ms]
testA() - [5020.0ms]
testA() - [5000.0ms]
testB() - [5001.0ms]
testB() - [5033.0ms]
total: 8, failures:0 (GREEN) - 20360.0ms
每个方法还是休息了5秒钟, 结果是20秒,不是40秒。
下载 p-unit-0.10 0.10 release: https://sourceforge.net/project/showfiles.php?group_id=195736&package_id=232587&release_id=509772
p-unit 主页: http://p-unit.sourceforge.net
[1] 测试案例类
LongTimeExecutionTest1.java/LongTimeExecution2.java:
public class LongTimeExecutionTest1(2) extends TestCase {
public void test1() throws Exception {
Thread.sleep(5000);
}
public void test2() throws Exception {
Thread.sleep(5000);
}
public void testA() throws Exception {
Thread.sleep(5000);
}
public void testB() throws Exception {
Thread.sleep(5000);
}
}
更多p-unit消息: http://blog.csdn.net/zhanghuangzhu
本页页面地址:
用户评论列表
习惯了......就像很多人用了Eclipse不大会接触Netbeans,用惯了Netbeans不会再去用Eclipse一样
这只是一小方面,不能说明什么问题
恩!楼上的说的很对啊!顶了……
操.... 又是从IBM开发者社区抄来的
多起几个junit实例不就可以了。。。
同意一楼的说法.
对于大家都在使用的、而且自己也已经习惯了的做法,只要还能忍受,一般就懒得去改变了。
发表我的评论 (评论可增加个人积分...)
| 用户*: | E-mail: | ||
| 评论内容*: 支持BBCode |
|||
| 算术题*: | + = | ||


ICP:?B2-20040367