我正在编写自己的JUnit Assert?我该如何测试?
我知道如何为它提供一些会通过的东西以及会让它失败的东西,但是如何为这些东西编写JUnit测试呢?
自定义断言将类似于:
public static void assertSomething() {
if (!something()) {
fail("Expected something, but ...");
}
}
我怎么能抓住那个失败?
答案 0 :(得分:7)
fail()
会抛出一个junit.framework.AssertionFailedError
,如果你愿意,你可以在你的断言方法的单元测试中捕获。
示例:
@Test(expected = AssertionFailedError.class)
public void testMyAssertFails() {
assertSomething("valueThatWillFail");
}
@Test
public void testMyAssertPasses() {
assertSomething("valueThatPasses");
//if you reach this line, no failure was thrown
}