写性能测试案例的朋友经常会注意到,同一个测试场景经常需要测试不同数量级的参数,p-unit很好的支持这种参数化测试案例。p-unit要求参数化测试案例实现接口Parameterizable,接口的主要函数是parameters(),返回一个Parameter的参数列表。然后p-unit会将该列表中的参数一一传入你的测试函数,当然测试函数的声明为:
public void testA(MyParameter param)
一段实例代码:
public class ParamTestClass implements Parameterizable {
public static void main(String[] args) {
new SoloRunner().run(ParamTestClass.class);
}
public Parameter[] parameters() {
return new Parameter[] { new ParameterImpl(10), new ParameterImpl(20) };
}
public void testA(ParameterImpl param) {
SampleUtil.doSomething();
}
public void testB(ParameterImpl param) {
SampleUtil.doSomething();
}
public void testC(ParameterImpl param) {
SampleUtil.doSomething();
}
public void setUpAfterWatchers(Parameter param) throws Exception {
}
public void setUpBeforeWatchers(Parameter param) throws Exception {
}
public void tearDownAfterWatchers(Parameter param) throws Exception {
}
public void tearDownBeforeWatchers(Parameter param) throws Exception {
}
static class ParameterImpl implements Parameter {
private int _count;
ParameterImpl(int count) {
_count = count;
}
public int count() {
return _count;
}
public String toString() {
return String.valueOf(_count);
}
}
}
运行结果为:
[solo] Started running samples.ParamTestClass
samples.ParamTestClass
testA(10) - [49584.0bytes,363.0ms]
testA(20) - [25680.0bytes,244.0ms]
testB(10) - [90760.0bytes,349.0ms]
testB(20) - [34640.0bytes,32.0ms]
testC(10) - [19296.0bytes,75.0ms]
testC(20) - [0.0bytes,230.0ms]
total: 6, failures:0 (GREEN) 2230.0ms
是不是很简单?这就是p-unit的设计理念,下一节将会讲述如何测试不同运行环境的性能。
小tip: 建议重载你的参数的toString函数,实例中的ParameterImpl#toString,他将现实在运行结果或是运行报表中。
分享到:
相关推荐
3. **设置测试参数**:配置测试案例的执行方式,如线程数、循环次数、延迟时间等。 4. **运行测试**:通过 P-unit 控制台或 API 启动测试,软件将自动记录和显示测试过程中的各项数据。 5. **分析结果**:结束后,...
3. 运行测试:通过P-Unit的命令行工具或者IDE插件,可以执行性能测试。测试结果将显示在控制台或生成的测试报告中。 四、P-Unit与其他测试框架对比 相比JUnit等传统单元测试框架,P-Unit在性能测试方面具有独特...
新理念大学英语网络教学系统答案--综合教程2--unit3.doc
人教版高中英语选修7-Unit-1-Unit4-测试.doc
大学生英语教程,----Unit 4-----好东西一起来下载
综合教程4--Unit-3-Alienation-and-the-Internet-课后练习答案-最新.doc
综合教程4--Unit-3-Alienation-and-the-Internet-课后练习答案-最新.doc
大学英语 ---- Unit 3 好精彩噢,----快来看--------
dao-unit-test.ftl
2. **初始化模拟数据库**:在测试文件中,导入mongo-unit并设置模拟数据库的初始数据。 3. **编写测试用例**:利用mongo-unit提供的API,编写针对数据库操作的测试用例。例如,测试一个增删改查的方法。 4. **运行...
Bloody-Unit-Tests工具的核心理念在于自动化测试框架的初始化和配置,以及常见测试场景的预设。它理解开发者在进行单元测试时,往往需要反复设置相同的环境和预期结果,这不仅耗时,也降低了编码效率。通过该工具,...
全新版大学英语综合教程-1-Unit3-课文正文电子书及翻译参考.pdf
"前端开源库-karma-sonarqube-unit-reporter"是Karma的一个插件,它的主要作用是将Karma执行的单元测试结果以SonarQube所接受的XML格式进行报告。这样,开发者就可以将这些测试数据无缝地导入SonarQube,从而在...
例如,UNIT1可能会讨论全球化的影响,UNIT2可能是关于环保的话题,UNIT3可能涉及科技进步,而UNIT4至UNIT7则可能涵盖更多样化的主题,如教育、健康、人际关系等。 解答过程中,学生可以对照答案分析自己在理解文章...
【标题】"B2-Unit3.zip"是一个压缩文件,通常用于存储多个相关文件或文件夹,以便于传输和管理。在IT行业中,压缩文件格式如.zip是常见的数据归档和压缩工具,它能减小文件大小,节省存储空间。 【描述】"B2-Unit3....
-最新四年级上册测试卷新人教版PEP-3-Unit-1-My-classroom-单元测试卷.pdf
JSON Unit Core 1.1.3 是一个专门用于测试JSON数据的开源项目,它为Java开发者提供了一套强大的工具来验证JSON对象是否符合预期。在软件开发中,特别是在API测试和Web服务验证方面,JSON Unit Core是不可或缺的一...
build.xml定义了构建任务和依赖关系,使得开发者能自动化执行flex-unit测试。 7. **utils.xml**:可能包含了辅助工具或配置,用于扩展或支持flex-unit的测试流程,例如自定义测试配置或报告格式。 8. **jenkins....
高级商务英语教案-unit7-unit12.doc
2019年广东开心版英语四年级上册--unit-3-my-week.doc