【发布时间】:2014-06-11 06:42:59
【问题描述】:
我知道我的程序的一部分在我尝试测试它时会失败,而当它失败时我不希望测试通过。所以我想知道是否可以断言失败?
【问题讨论】:
标签: java unit-testing junit
我知道我的程序的一部分在我尝试测试它时会失败,而当它失败时我不希望测试通过。所以我想知道是否可以断言失败?
【问题讨论】:
标签: java unit-testing junit
如果您使用的是 Junit 4,请使用预期的行为:
@Test(expected=SomeException.class)
public void testThings() {
// do stuff
}
如果您使用的是 Junit 3,则必须抓住它
public void test() {
try {
// do stuff
fail("Expected SomeException");
} catch (SomeException e) {
}
}
【讨论】:
do stuff 之后使用fail("Should have thrown exception!") 而不是assertTrue(passed) - 少一个变量。
JUnit wiki 列出了不同的异常测试方式:https://github.com/junit-team/junit/wiki/Exception-testing
【讨论】: