JUnit是一个Java编程语言编写的单元测试框架。 并且是一个家族的统称为xUnit单元测试框架中的一个。
JUnit是Java中最有名的单元测试框架。然而,它仅适合于纯粹的单元测试,对于集成测试应该使用TestNG来代替。
Junit3和Junit4的区别
- Junit3中所有方法都必须在方法前面必须使用Test作为前缀
- JUnit3必须继承TestCase这个父类 JUnit4则没有限制
快速创建一个类的测试类
- 在eclipse中在要测试的类上边单击右键new->other->JUnit Test Case 修改Source folder 到test目录
测试类的基本注意事项
- 测试方法上必须使用@Test进行修饰
- 测试方法必须使用public void 进行修饰,不能带任何的参数
- 测试类的包结构应该和被测试类保持一致
- 测试单元中的每个方法必须可以独立测试,测试方法间不能有任何的依赖
- 测试类使用Test作为类名的后缀(不是必须)
- 测试方法使用test作为方法名的前缀(不是必须)
测试失败的两种情况
- 测试用例不是用来证明你(的逻辑)是对的,而是用来证明你(的断言)没有错
- .Failure 一般由单元测试使用的方法判断失败所引起的,这表示测试点发现了问题,就是说问题输出的结果和我们预期的不一样。
- error是有代码异常引起的,它可以产生于测试代码本身的错误,也可以是测试代码中一个隐藏的bug
JUnit常用的注解
- @Test(timeout 毫秒值和expected预期会抛出一个异常两个属): 将一个 普通的方法修饰成为一个测试方法
- @BeforeClass: 他会在所有的方法运行前被执行,static修饰
- @AfterClass 他会在所有方法运行结束后被执行,static修饰
- @Before:会在每一个测试方法被运行前执行一次
- @After 会在每个测试方法被运行后执行一次
- @Ignore 所修饰的测试方法会被测试运行器忽略
- @RunWith(Suite.class测试套件组织测试类一起运行): 可以修改测试运行器 org.junit.runner.Runner
- @Suite.SuiteClasses({TaskTest1.class,TaskTest2.class,TaskTest3.class})测试套件