最近看一个项目的代码,看到该项目对于每个类都会有一个测试程序。由于我须要用到项目中的某部分代码作测试,想着可不能够采用一样的办法,为该部分写一个测试程序。可是,后面发现不能够,由于JUnit测试包须要有相似eclipse或者maven等开发环境下才能使用(仅仅是个人理解),由于须要下载JUnit测试包。因此,最后的实现是从新写了一个含main()函数的类,修改pom.xml中的关于main()函数入口。 git
个人理解应该是,JUnit为测试写了一个普适的接口,好比main()函数接口等,客户在使用的时候只须要编写特定的部分便可。程序员
多数Java的开发环境都已经集成了JUnit做为单元测试的工具,Junit测试是程序员测试,即所谓白盒测试,由于程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就能够用Junit进行自动测试了。github
另外junit是在极限编程和重构(refactor)中被极力推荐使用的工具。什么是极限编程?要求在编写代码以前先写测试,这样能够强制你在写代码以前好好的思考代码(方法)的功能和逻辑,不然编写的代码很不稳定,那么你须要同时维护测试代码和实际代码,这个工做量就会大大增长。所以在极限编程中,基本过程是这样的:构思-> 编写测试代码-> 编写代码-> 测试,并且编写测试和编写代码都是增量式的,写一点测一点,在编写之后的代码中若是发现问题能够较快的追踪到问题的缘由,减少回归错误的纠错难度。编程
注意点以下:框架
一、使用简单的 @Test 注解实现咱们的测试方法的编写和执行eclipse
二、使用@Test 的 Ignore 属性指定测试时跳过某個方法maven
三、使用注解 @Before 和 @After 来完成前置工做和后置工做函数
四、使用@Test 的属性 timeout 来完成限时测试,以检测代码中的死循环工具
五、使用@Test 的属性expected来监控测试方法中可能会抛出的某些异常单元测试
六、指定 JUnit 运行测试用例时的 Runner
七、testNG 多是用于大量数据测试
具体能够参见这些连接:
https://my.oschina.net/bairrfhoinn/blog/167636
http://mark-yang.github.io/blog/2015/05/17/junit/