测试用例
JUnit 4
@Test(expected = Exception.class) 表示预期会抛出Exception.class 的异常@Ignore 含义是“某些方法尚未完成,暂不参与此次测试”。这样的话测试结果就会提示你有几个测试被忽略,而不是失败。一旦你完成了相应函数,只需要把@Ignore 注解删去,就可以进行正常的测试。@Test(timeout=100) 表示预期方法执行不会超过100 毫秒,控制死循环@Before 表示该方法在每一个测试方法之前运行,可以使用该方法进行初始化之类的操作@After 表示该方法在每一个测试方法之后运行,可以使用该方法进行释放资源,回收内存之类的操@BeforeClass 表示该方法只执行一次,并且在所有方法之前执行。一般可以使用该方法进行数据库连接操作,注意该注解运用在静态方法。@AfterClass 表示该方法只执行一次,并且在所有方法之后执行。一般可以使用该方法进行数据库连接关闭操作,注意该注解运用在静态方法。
TestSuite
如果你须有多个测试单元,可以合并成一个测试套件进行测试,况且在一个项目中,只写一个测试类是不可能的,我们会写出很多很多个测试类。可是这些测试类必须一个一个的执行,也是比较麻烦的事情。鉴于此,
@RunWith(Suite.class)
@SuiteClasses({ JUnit1Test.class, StringUtilTest.class })
public class JSuit {}
Assert
-
assertTrue/False([String message,]boolean condition)
: 判断一个条件是true 还是false 。感觉这个最好用了,不用记下来那么多的方法名。 -
fail([String message,])
: 失败,可以有消息,也可以没有消息。 -
assertEquals([String message,]Object expected,Object actual)
: 判断是否相等,可以指定输出错误信息。第一个参数是期望值,第二个参数是实际的值。这个方法对各个变量有多种实现。在JDK1.5 中基本一样。但是需要主意的是float 和double 最后面多一个delta 的值。 -
assertNotNull/Null([String message,]Object obj)
: 判读一个对象是否非空( 非空) 。 -
assertSame/NotSame([String message,]Object expected,Object actual)
: 通过内存地址,判断两个对象是否指向同一个对象。 -
failNotSame/failNotEquals(String message, Object expected, Object actual)
: 当不指向同一个内存地址或者不相等的时候,输出错误信息。注意信息是必须的,而且这个输出是格式化过的。