如何对自定义断言进行单元测试?

3

我正在编写自己的JUnit Assert?如何测试它?

我知道如何提供一个可以通过和一个会失败的输入,但是如何为这些东西编写一个JUnit测试呢?

自定义的assert将类似于:

public static void assertSomething() {
    if (!something()) {
        fail("Expected something, but ...");
    }
}

如何捕捉到失败的情况?

1个回答

6

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
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接