先说一下今天的简单总结:
用JUnit跑单元测试,首先得有JUnit包,有工程需要的其他包。 而在eclipse中默认不会包含测试包,所以需要引入。其次,如果是maven工程,本地的包可能不全,要将依赖的包都下载。跑一下mvn eclipse:eclipse即可。
1、引入JUnit包:工程右键——properties——java build path——Libraries——add library...,选择JUnit——next——选版本——finish。
2、生成JUnit 测试用例,选择要进行测试的类,右键——new——junit test case——确认测试类信息——选择方法——finish。
3、跑测试用例,打开文件,文件内部右键——run as(debug as)——junit test。
跑单个测试用例,选中要跑的测试用例,右键——run as(debug as)——junit test。
4、测试用例声明:
@Test声明为测试用例
@Ignore 忽略此测试用例,不用执行。
@Before 在任何测试用例执行之前执行,主要用来作初始化操作。酱紫,可以保证所有测试用例执行时候的条件是一致的,可以比较不同测试用例的执行结果。有多少个测试用例要跑,就要执行多少次。
@After 在任何测试用例执行之后执行,主要用来做些收尾的工作。赶脚有点像finally之类的。有多少个测试用例要跑,就要执行多少次。
@BeforeClass 在所有测试用例之前执行的方法,用来做一些比较麻烦的准备工作。但与Before有差别,此方法只执行一次,且一个测试类中,只能有一个方法被标注为BrforeClass。
@AfterClass 在所有测试用例之后执行的方法。此方法只执行一次,且一个测试类中,只能有一个方法被标注为@AfterClass。
@Test(timeout=1000) 为测试方法设定执行时间,超过时间就会被系统强行终止。单位是毫秒。
@Test(expected=IOException.class)表示方法应该抛出IO异常
@RunWith(TestClassRunner.class) 用来指定运行期,默认是TestClassRunner.class
@RunWith(Parameterized.class) 参数化测试,用来运行一列参数的情况。
@RunWith(Suite.class)打包测试类
用例:
import org.junit.runner.RunWith; import org.junit.runners.Suite; @RunWith(Suite. class ) @Suite.SuiteClasses( { CalculatorTest. class , SquareTest. class } ) public class AllCalculatorTests { }
友情链接:
写得很棒:点击打开链接
自我批评:
今儿第一次跑单元测试,作为一个工作半年多的码农,真是够挫的。
原文地址:http://blog.csdn.net/shoren80/article/details/40461699