您的位置:首页 > 其它

p-unit 教程4 -- 测试不同运行环境

2007-05-23 14:46 417 查看
p-unit最新介绍已在developerWorks发表,请点击这里查阅

我们已经看到了p-unit如何支持多线程,以及参数化测试案例, 今天介绍的是一个p-unit的高级功能,测试同一个测试案例在不同虚拟机上的性能。你能想像的最小工作量是什么?对,写测试案例,配置虚拟机参数。p-unit也是这么要求开发者的,需要开发者指定虚拟机的java可执行程序路径以及classpath,然后调用runner.runVMs(Class clazz)即可。 下面是实例代码:
public static void main(String[] args) {
SoloRunner runner = new SoloRunner();
runner.addPUnitEventListener(new OverviewReporter(new ImageRender()));
runner.runVMs(ListTestClass.class, new VM[] { VMConfig.HARMONY, VMConfig.SUN });
}

public class VMConfig {
private static String CLASSPATH = " -cp correct_classpath_including_all_jars_and_path"; //$NON-NLS-1$
private static String HARMONY_PATH = "harmony_path//bin//java" + CLASSPATH; //$NON-NLS-1$
private static String SUN_PATH = "sun_path//bin//java" + CLASSPATH; //$NON-NLS-1$
public static VM HARMONY = new VM(HARMONY_PATH, "HARMONY"); //$NON-NLS-1$
public static VM SUN = new VM(SUN_PATH, "SUN"); //$NON-NLS-1$
}

public class ListTestClass {

private static final int LIST_COUNT = 100000;
private static Object element = new Object();
private Random indexGenerator = new Random();;

public void testInsertArrayList() {
ArrayList arrayList = new ArrayList(LIST_COUNT);
insertSequence(arrayList);
insertRandom(arrayList);
}

public void testInsertVector() {
Vector vector = new Vector(LIST_COUNT);
insertSequence(vector);
insertRandom(vector);
}

public void insertSequence(List list) {
for (int i = 0; i < LIST_COUNT; ++i) {
list.add(element);
}
}

public void insertRandom(List list) {
for (int i = 0; i < LIST_COUNT; ++i) {
list.add(indexGenerator .nextInt(LIST_COUNT),element);
}
}

}

运行结果为两张pp的报表:





欲知如何产生报表 -- 且听下回分解(或更可能的是你已经知道了

)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐