命令行模式下junit4.3测试粒度细化到测试方法
2009-05-21 22:01
375 查看
命令如下:
java -cp D:\AutoRun\lib\coretestlib\common\junit-4.3.jar;. org.junit.runner.AliJUnitCore com.TestAA(测试Class名) TestCase1(测试方法名)
攻略如下
由于事先junit 支持 测试粒度到测试类级别,命令如下
java -cp D:\AutoRun\lib\coretestlib\common\junit-4.3.jar;. org.junit.runner.JUnitCore com.TestAA
但是它支持界面模式下的单方法执行,那么肯定有相应的测试类支持,为此找到了TestMethodRunner的类,同时想到改造org.junit.runner.JUnitCore的main的方法,让它去调用TestMethodRuner改造的方法代码分别如下
public Result runMain(String... args) {
System.out.println("JUnit version " + Version.id());
Class<?> cls = null ;
Method mes = null;
List<Failure> missingClasses= new ArrayList<Failure>();
try {
cls = Class.forName(args[0]);
for(int j=0; j< cls.getMethods().length; j++)
{
if(cls.getMethods()[j].getName().endsWith(args[1]))
mes = cls.getMethods()[j];
}
} catch (ClassNotFoundException e1) {
// TODO Auto-generated catch block
System.out.println("Could not find class: " + args[0]);
Description description= Description.createSuiteDescription(args[0]);
Failure failure= new Failure(description, e1);
missingClasses.add(failure);
}
RunListener listener= new TextListener();
addListener(listener);
Result result= run(cls,mes);
for (Failure each : missingClasses)
result.getFailures().add(each);
return result;
}
public Result run(Class<?> cls, Method mes ) {
Description description;
description = new Description("开始");
TestMethodRunner tmr = null;
try
{
tmr = new TestMethodRunner(cls.newInstance(),
mes, fNotifier, description);
}
catch (Exception e1) {
System.out.println(e1.getMessage());
}
return run(tmr,description);
}
/**
*基本保持原来的函数不变,只是把Runner改成TestMethodRunner
*/
public Result run(TestMethodRunner runner,Description description) {
Result result= new Result();
RunListener listener= result.createListener();
addFirstListener(listener);
try {
fNotifier.fireTestRunStarted(description);
runner.run();
fNotifier.fireTestRunFinished(result);
} finally {
removeListener(listener);
}
return result;
}
java -cp D:\AutoRun\lib\coretestlib\common\junit-4.3.jar;. org.junit.runner.AliJUnitCore com.TestAA(测试Class名) TestCase1(测试方法名)
攻略如下
由于事先junit 支持 测试粒度到测试类级别,命令如下
java -cp D:\AutoRun\lib\coretestlib\common\junit-4.3.jar;. org.junit.runner.JUnitCore com.TestAA
但是它支持界面模式下的单方法执行,那么肯定有相应的测试类支持,为此找到了TestMethodRunner的类,同时想到改造org.junit.runner.JUnitCore的main的方法,让它去调用TestMethodRuner改造的方法代码分别如下
public Result runMain(String... args) {
System.out.println("JUnit version " + Version.id());
Class<?> cls = null ;
Method mes = null;
List<Failure> missingClasses= new ArrayList<Failure>();
try {
cls = Class.forName(args[0]);
for(int j=0; j< cls.getMethods().length; j++)
{
if(cls.getMethods()[j].getName().endsWith(args[1]))
mes = cls.getMethods()[j];
}
} catch (ClassNotFoundException e1) {
// TODO Auto-generated catch block
System.out.println("Could not find class: " + args[0]);
Description description= Description.createSuiteDescription(args[0]);
Failure failure= new Failure(description, e1);
missingClasses.add(failure);
}
RunListener listener= new TextListener();
addListener(listener);
Result result= run(cls,mes);
for (Failure each : missingClasses)
result.getFailures().add(each);
return result;
}
public Result run(Class<?> cls, Method mes ) {
Description description;
description = new Description("开始");
TestMethodRunner tmr = null;
try
{
tmr = new TestMethodRunner(cls.newInstance(),
mes, fNotifier, description);
}
catch (Exception e1) {
System.out.println(e1.getMessage());
}
return run(tmr,description);
}
/**
*基本保持原来的函数不变,只是把Runner改成TestMethodRunner
*/
public Result run(TestMethodRunner runner,Description description) {
Result result= new Result();
RunListener listener= result.createListener();
addFirstListener(listener);
try {
fNotifier.fireTestRunStarted(description);
runner.run();
fNotifier.fireTestRunFinished(result);
} finally {
removeListener(listener);
}
return result;
}
相关文章推荐
- 命令行模式下junit4.3测试粒度细化到测试方法
- 命令行模式下junit4.3测试粒度细化到测试方法
- 命令行模式下junit4.3测试粒度细化到测试方法
- linux 命令行模式下,浏览网页方法
- 命令行模式下 MYSQL导入导出.sql文件的方法
- ubuntu命令行模式与图形桌面切换方法
- fedora图形界面与命令行模式切换方法
- Ubuntu命令行模式与图形桌面切换方法
- mplayer命令行模式下的使用方法
- 命令行模式下 MYSQL导入导出.sql文件的方法
- 第4代白盒测试方法实践之“使用VcTester实施持续集成的组织管理模式”
- php cli 命令行模式使用类似shell交互read方法
- CentOS命令行模式下修改linux分辨率的方法
- CentOS下命令行和桌面模式的切换方法
- 去掉电脑右下角出现win7测试模式内部版本7601的方法
- 测试系统存储是大端模式还是小端模式的方法
- 编译器前端的Windows版命令行测试方法
- php命令行(cli)模式下报require 加载路径错误的解决方法
- 【C语言深度剖析】测试系统存储是大端模式还是小端模式的方法
- Ubuntu 默认命令行模式启动的方法