当前位置 : 主页 > 网络安全 > 测试自动化 >

单元测试 – 将单元测试标记为JUnit4中的预期故障

来源:互联网 收集:自由互联 发布时间:2021-06-19
是否有JUnit4的扩展,允许将某些测试标记为“预计会失败”? 我想用一些标记标记正在开发的当前功能的测试,例如@wip.对于这些测试,我想确保它们失败. 我的验收标准: Scenario: A succes
是否有JUnit4的扩展,允许将某些测试标记为“预计会失败”?

我想用一些标记标记正在开发的当前功能的测试,例如@wip.对于这些测试,我想确保它们失败.

我的验收标准:

Scenario: A successful test tagged @wip is recorded as failure
    Given a successful test marked @wip
    When the test is executed
    Then the test is recorded as failure.

Scenario: A failing test tagged @wip is recorded as fine
    Given a failing test tagged @wip
    When the test is executed
    Then the test is recorded as fine.

Scenario: A successful test not tagged @wip is recorded as fine
    Given a successful test not tagged @wip
    When the test is executed
    Then the test is recorded as successful.

Scenario: A failing test not tagged with @wip is recorded as failure
    Given a failing test not tagged with @wip
    When the test is executed
    Then the test is recorded as failure.
简短的回答,据我所知,没有任何扩展可以做到这一点,并且在我看来,如果它存在,它将击败JUnit的整个目的.

更长的答案,红色/绿色是一种神圣的,规避它不应该成为一种习惯.如果您不小心忘记取消规避并假设所有测试都通过了怎么办?

你可以使它期望AssertionError或Exception.

@wip
@Test(expected=AssertionError.class)
public void wipTest() {
   fail("work in progress");
}

在IDE中为此创建快捷方式应该不会太难.当然,我假设您在源代码中使用注释标记测试.

在我看来,你所要求的是反对JUnit的目的,但我确实理解它的用途.

另一种方法是使用WIP注释实现WIPRunner,并以某种方式使其接受WIP注释的测试失败.

如果您正在与BDD框架集成,我建议一种方法让它运行您单独标记@wip的单元测试,并在您的BDD方法中决定结果是否正常.

网友评论