0%

Java之Junit进阶

写在前面

Junit5已经出来,但因为习惯问题此处还是主要语句Junit4的主要用法。

主要内容

  • 测试套件
  • 忽略测试方法
  • 代码运行时间测试
  • 定向异常测试

测试套件

测试套件意味着捆绑几个单元测试用例并且一起执行他们。JUnit 中,使用@RunWith 和 @Suite 注释来运行套件测试。(被@RunWith 和 @Suite注释的测试类不需要任何方法,SuiteClasse中写上要一起执行的测试用例类)

1
2
3
4
5
6
7
8
9
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses({
TestJunit1.class,
TestJunit2.class
})
public class JunitTestSuite {
}

忽略测试

有时因为各种原因(比如上面套件中,我们类中有并不想执行的用例)我们不想执行我们的测试用例。这是需要忽略掉这个测试用例。@Ignore 注释会在这种情况时帮助我们。

  • 一个含有 @Ignore 注释的测试方法将不会被执行。
  • 如果一个测试类有 @Ignore 注释,则它的所有的测试方法将不会执行。

运行时间测试

如果想验证一个测试用例是否比起指定的毫秒数花费了更多的时间。可以在@Test 注释中使用timeout 参数。
@Test(timeout=1000)

定向异常测试

你可以测试代码是否它抛出了想要得到的异常。可以在@Test 注释中使用expected 参数。例如@Test(expected = ArithmeticException.class) 就可以用来测试被注释的方法抛出的异常是不是ArithmeticException。