【问题标题】:How do You Unit Test a Custom Assert?如何对自定义断言进行单元测试?
【发布时间】:2011-03-23 15:49:33
【问题描述】:
我正在编写自己的 JUnit 断言?如何测试?
我知道如何为它提供一些会通过和一些会使其失败的东西,但是我如何为这些东西编写 JUnit 测试呢?
自定义断言看起来像:
public static void assertSomething() {
if (!something()) {
fail("Expected something, but ...");
}
}
我怎样才能发现失败?
【问题讨论】:
标签:
java
unit-testing
junit
assert
junit4
【解决方案1】:
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
}