zoukankan      html  css  js  c++  java
  • Java的JUnit 测试包进行单元测试

    最近看一个项目的代码,看到该项目对于每一个类都会有一个测试程序。因为我需要用到项目中的某部分代码做测试,想着可不可以采用同样的办法,为该部分写一个测试程序。但是,后面发现不可以,因为JUnit测试包需要有类似eclipse或者maven等开发环境下才能使用(仅仅是我的理解),因为需要下载JUnit测试包。所以,最后的实现是重新写了一个含main()函数的类,修改pom.xml中的关于main()函数入口。 

    我的理解应该是,JUnit为测试写了一个普适的接口,比如main()函数接口等,客户在使用的时候只需要编写特定的部分即可。

    多数Java的开发环境都已经集成了JUnit作为单元测试的工具,Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。

    另外junit是在极限编程和重构(refactor)中被极力推荐使用的工具。什么是极限编程?要求在编写代码之前先写测试,这样可以强制你在写代码之前好好的思考代码(方法)的功能和逻辑,否则编写的代码很不稳定,那么你需要同时维护测试代码和实际代码,这个工作量就会大大增加。因此在极限编程中,基本过程是这样的:构思-> 编写测试代码-> 编写代码-> 测试,而且编写测试和编写代码都是增量式的,写一点测一点,在编写以后的代码中如果发现问题可以较快的追踪到问题的原因,减小回归错误的纠错难度。

    注意点如下:

    1、使用简单的 @Test 注解实现我们的测试方法的编写和执行

    2、使用@Test 的 Ignore 属性指定测试时跳过某個方法

    3、使用注解 @Before 和 @After 来完成前置工作和后置工作

    4、使用@Test 的属性 timeout 来完成限时测试,以检测代码中的死循环

    5、使用@Test 的属性expected来监控测试方法中可能会抛出的某些异常

    6、指定 JUnit 运行测试用例时的 Runner

    7、testNG 可能是用于大量数据测试

    具体可以参见这些链接:

    https://my.oschina.net/bairrfhoinn/blog/167636

    http://mark-yang.github.io/blog/2015/05/17/junit/

     

  • 相关阅读:
    Eclipse 插件开发 —— 深入理解查找(Search)功能及其扩展点
    Spring Auto Scanning Components
    SSH架构简单总结
    eclipse进行开发
    jasper ireport create a report with parameters without sql query
    VARCHAR2转换为CLOB碰到ORA-22858错误
    cannot find w3wp.exe in VS
    10 things you should know about NoSQL databases
    Notifications Nagios
    Serializable
  • 原文地址:https://www.cnblogs.com/xingzifei/p/8018485.html
Copyright © 2011-2022 走看看