<div
class="iteye-blog-content-contain" style="font-size: 14px"></div>
JUnit 4 基本上是一个新框架,而不是旧框架的升级
版本。
JUnit 4 没有 suite()方法,那么您需要一个具有集成 JUnit支持的 IDE,比如 Eclipse。
使用JUnit的测试方法必须按照规范书写
1. 测试方法必须使用
注解 org.junit.Test 修饰。
2. 测试方法必须使用 public void 修饰,而且不能带有任何参数。
@Test public void wordFormat4DBegin(){
String target = "EmployeeInfo";
String result = WordDealUtil.wordFormat4DB(target);
assertEquals("employee_info", result);
}
注解 org.junit.Test 中有两个非常有用的参数:expected 和 timeout。
1、参数 expected 代表测试方法期望抛出指定的
异常,如果运行测试并没有抛出这个异常,则 JUnit 会认为这个测试没有通过。
@Test(expected=UnsupportedDBVersionException.class)
public void unsupportedDBCheck(){
……
}
2、参数timeout,指定被测试方法被允许运行的最长时间应该是多少,如果测试方法运行时间超过了指定的毫秒数,则JUnit认为测试失败。
@Test(timeout=1000)
public void selfXMLReader(){
……
}
测试驱动开发(TDD)是
敏捷开发中一个非常好的实践,其具体做法是在着手编
写代码之前,首先为需要完成的代码设置接受测试,一旦测试通过,就意味着代码实现完成。
TDD促使开发人员在实现代码之前准确定义代码功能,并通过这个准则避免开发人员增加不必要的功能。
世纪上,TDD方法同样适用于敏捷中的
性能测试。如果有明确的针对函数的性能标准,同样可以被包含在测试中,并作为函数实现与否的德一个判定标准。
使用上述JUnit4的@Test(timeout=XXX)就能够达成这个目标。
如,可以测试一个计算菲波拉切数列函数的执行时间。
@Test(timeout=12)
public void compute() {
Long l1 = 0L;
Long l2 = 1L;
Long l = 0L;
for (int i = 0; i < 100000; i++) {
l = l1 + l2;
l1 = l2;
l2 = l;
}
System.out.println(l);
}