介绍:
JUnit 是一个 Java 编程语言的单元测试框架。通俗来说就是一边编码一边测试。
测试框架:
JUnit测试框架包括:
- 测试工具 :setUp()在测试方法运行前发起。tearDown()在测试方法运行后发起
- 测试套件:捆绑几个测试案例同时运行。
- 测试运行器 :执行测试案例。
- 测试分类:测试分类是在编写和测试 JUnit 的重要分类。包含测试案例,测试断言,测试结果。
API:
JUnit最重要的API包括:
- Assert:assert方法集合
- TestCase:能运行多重测试
- TestResult:集合了测试案例的所有测试结果
- TestSuite:测试的集合
注释:
@Test:这个注释说明依附在 JUnit 的 public void 方法可以作为一个测试案例。
@Before:说明该方法要在test之前运行。
@After:说明这个方法要在test之后运行。
@BeforeClass:在 public void 方法加该注释是因为该方法需要在类中所有方法前运行。
@AfterClass:它将会使方法在所有测试结束后执行。这个可以用来进行清理活动。
@Ignore:忽略。
不同于其他注释,JUnit的注释会对测试产生以上的效果。
断言测试(Assert):
通过调用assert的方法测试用例,只有失败的断言才会被记录。
执行过程:
测试用例是使用 JUnitCore 类来执行的。JUnitCore 是运行测试的外观类。它支持运行 JUnit 4 测试, JUnit 3.8.x 测试,或者他们的混合。 要从命令行运行测试,可以运行 java org.junit.runner.JUnitCore。
套件测试:
个人认为这是很神奇的东西,通过注释调用。在 JUnit 中,@RunWith 和 @Suite 注释用来运行套件测试。
@RunWith(Suite.class)
@Suite.SuiteClasses({
TestJunit1.class,
TestJunit2.class
})
忽略测试:
这是一个类似于真的注释的东西,一旦加上,@Ignore之后的代码将不会被调用。
时间测试:
将timeout和@Test合起来使用。为测试函数提供暂停时间。
异常测试:
Junit 用代码处理提供了一个追踪异常的选项。你可以测试代码是否它抛出了想要得到的异常。expected 参数和 @Test 注释一起使用。@Test(exception)。
参数测试:
用 @RunWith(Parameterized.class) 来注释 test 类。
创建一个由 @Parameters 注释的公共的静态方法,它返回一个对象的集合(数组)来作为测试数据集合。
创建一个公共的构造函数,它接受和一行测试数据相等同的东西。
为每一列测试数据创建一个实例变量。
用实例变量作为测试数据的来源来创建你的测试用例。