命令行模式下junit4.3测试粒度细化到测试方法

简介:
命令如下:
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;
    }
 


本文转自elbertchen 51CTO博客,原文链接:http://blog.51cto.com/linkyou/283241,如需转载请自行联系原作者
相关文章
|
21天前
|
Java
IDEA快捷测试方法可用性
IDEA快捷测试方法可用性
17 0
|
24天前
|
数据可视化 测试技术
深入理解软件测试中的风险评估方法
【4月更文挑战第19天】 在软件开发的生命周期中,风险评估是确保产品质量和项目成功的关键步骤。本文将探讨几种常用的软件测试风险评估方法,包括定性分析和定量分析,并讨论它们在不同类型的测试环境中的应用。通过案例研究和最佳实践,我们将展示如何有效识别、评估和管理测试过程中可能遇到的风险,以及如何制定相应的缓解策略,以优化资源分配和提高测试效率。
|
18天前
|
测试技术 API Python
Appium控件交互策略:优化自动化测试效率的关键方法
该文介绍了如何使用Selenium与APP进行交互,包括点击、输入和状态判断等操作。例如,通过element.click()点击控件,element.send_keys()输入文本,以及element.is_displayed()检查元素是否可见。还展示了如何获取元素属性,如resource-id、text和class,并提供了Python代码示例来定位并操作APP元素,如滑动条的显示、可点击性检测及点击滑动条中心位置。在编写测试脚本时,应注意元素定位和状态验证以确保测试稳定性。
21 1
|
1月前
|
Java 测试技术 程序员
junit单元测试
junit单元测试
|
2天前
|
XML 存储 测试技术
深入理解自动化测试中的数据驱动方法
【5月更文挑战第11天】 在软件测试领域,数据驱动测试(DDT)是一种高效的测试策略,它允许测试人员通过外部数据源控制测试用例的输入和输出。这种方法促进了测试用例的参数化,并提高了测试的灵活性和可维护性。本文将探讨数据驱动测试的核心概念、实施步骤以及使用Python进行数据驱动测试的实践案例,旨在为读者提供一种结构化的方法来设计和执行复杂的测试场景。
|
4天前
|
测试技术
测试基础 Junit单元测试框架
测试基础 Junit单元测试框架
11 2
测试基础 Junit单元测试框架
|
6天前
|
存储 测试技术 数据库
深入理解自动化测试中的数据驱动方法
【5月更文挑战第7天】 在快速发展的软件行业中,为了提升测试效率和测试覆盖率,自动化测试已经成为一个不可或缺的部分。数据驱动测试(DDT)是一种独特的自动化测试方法,它允许分离测试逻辑和测试数据,从而使得测试案例可以更加灵活和有效地进行管理。本文将探讨数据驱动测试的核心概念、实施步骤及其在实际应用中的优势与挑战。通过对多个案例的分析,我们旨在提供一个全面的指南,帮助软件测试人员理解和运用数据驱动方法以优化他们的自动化测试策略。
|
13天前
|
存储 大数据 测试技术
矢量数据库的性能测试与评估方法
【4月更文挑战第30天】本文探讨了矢量数据库的性能测试与评估方法,强调其在大数据和AI时代的重要性。文中介绍了负载测试、压力测试、容量测试、功能测试和稳定性测试五大评估方法,以及实施步骤,包括确定测试目标、设计用例、准备环境、执行测试和分析结果。这些方法有助于确保数据库的稳定性和高效性,推动技术发展。
|
19天前
|
API 开发者
免费邮箱API发送邮件测试调试的方法和步骤
本文介绍了使用免费邮箱API如aoksend、Mailgun、SMTP2GO发送邮件的测试调试步骤:选择合适的API,获取访问密钥,配置邮件参数,编写测试代码,调试和测试,查看发送日志,以及优化改进邮件发送功能,确保其稳定运行。
|
20天前
|
XML 测试技术 数据库
深入理解自动化测试中的数据驱动方法
【4月更文挑战第23天】 在软件测试领域,为了提高测试效率和质量,自动化测试已成为不可或缺的实践。数据驱动测试(DDT)作为一种高效的自动化测试策略,它通过将测试逻辑与测试数据分离,允许测试人员以更灵活、可维护的方式设计用例。本文将探讨数据驱动方法的基本原理,实现方式以及在实际项目中的应用案例,旨在帮助读者深入理解并有效运用数据驱动方法来提升自动化测试的效率和质量。

热门文章

最新文章