原创 p-unit 教程1 -- 跑最简单的测试案例收藏

新一篇: p-unit 教程2 -- 多线程执行测试案例 | 旧一篇: p-unit简介 -- 一款开源的支持多线程,不同java虚拟机,性能测试工具

p-unit最新介绍已在developerWorks发表,请点击这里查阅

在JUnit里,写一个Test,一般的习惯是继承TestCase,而p-unit中无这要求。p-unit通过反射会收集该类的public的测试方法以及setUp/tearDown,因此和原有的JUnit test兼容。下面是一个最简单的测试案例:

public class SimpleTestClass {

public static void main(String[] args) {

new SoloRunner().run(NormalTestCass.class);

}

public void setUp() {

SampleUtil.doSomething();

}

public void tearDown() {

SampleUtil.doSomething();

}

public void testA() {

SampleUtil.doSomething();

}

public void testB() {

SampleUtil.doSomething();

}

public void testC() {

 SampleUtil.doSomething();

}

}

public class SampleUtil {
  
 private static Random _random = new Random();
 
 public static void consumeMemory(int length) {
  byte[] data = new byte[length];
  for(int i = 0, j = 0; i < data.length; ++i) {
   ++j;
  }
 }
 
 public static void consumeTime(int time) {
  ThreadUtil.sleepIgnoreInterruption(time);
 }
 
 public static void doSomething() {
  consumeTime(Math.abs(_random.nextInt()) % 500);
  consumeMemory(Math.abs(_random.nextInt()) % 100000);
 }
}

其运行结果:

[solo] Started running samples.SimpleTestClass
samples.SimpleTestClass
testA() - [29704.0bytes,348.0ms]
testB() - [18000.0bytes,118.0ms]
testC() - [81096.0bytes,470.0ms]
total: 3, failures:0 (GREEN) 1933.0ms

可以看到其内存和时间的消耗情况,测试结果 -- green :)

这是最基本的情况,接下来的变数将会在后面的文章中继续介绍。

p-unit: http://p-unit.sourceforge.net/

发表于 @ 2007年05月22日 15:58:00|评论(loading...)|编辑

新一篇: p-unit 教程2 -- 多线程执行测试案例 | 旧一篇: p-unit简介 -- 一款开源的支持多线程,不同java虚拟机,性能测试工具

评论

#sjj 发表于2007-05-28 08:48:47  IP: 211.138.144.*
不错,值得一试
#逆旅行人 发表于2007-06-05 11:38:37  IP: 219.142.247.*
老兄,PUnitSoloRunner()在0.11版里面的哪个包下?我只看到org.punit.runner.SoloRunner;
是版本升级呢?还是你的笔误
#zhanghuangzhu 发表于2007-06-05 13:06:20  IP: 212.184.30.*
Hi 逆旅行人,
0.10-dev版里叫PUnitSoloRunner,在后来的版本都用SoloRunner了! 谢谢你的提醒!
#ys 发表于2008-07-18 15:45:52  IP: 59.64.179.*
hi,
new SoloRunner().run(NormalTestCass.class);
这句怎么有问题啊,为什么不是SampleUtil.class?
#Andrew Zhang 发表于2008-07-19 15:59:19  IP: 116.224.35.*
new SoloRunner().run(NormalTestCass.class);
表示用SoloRunner去跑NormalTestClass这个类里的所有测试方法,最近想更新到0.15版本,可惜我这里sourceforge上不去……
发表评论  


登录
Csdn Blog version 3.1a
Copyright © 张黄瞩