Junit测试:失败的意义(“尚未实施”);?

时间:2014-02-20 14:42:53

标签: java eclipse unit-testing junit

这段代码的意义是什么?

e.g。

@Test
    public void testGetDiameter() {
        **fail("Not yet implemented");**
    }

3 个答案:

答案 0 :(得分:10)

使用Eclipse IDE,如果要生成JUnit TestCase存根,它将使用fail("Not yet implemented")添加测试方法。因此,如果您忘记添加实际实现,则测试用例将失败,并且错误或断言错误将显示为“尚未实现”。

因此,eclipse存根生成器为您提供了测试用例的默认实现,它将始终失败,并且单元测试用例开发人员有责任将其替换为一些有意义的测试语句。您可以将其视为TODO:

如果您删除此声明,您的测试将通过,但实际上它没有为您做任何类型的测试,但只会增加您的测试用例的数量。

答案 1 :(得分:1)

你应该使用

throw new UnsupportedOperationException("Message")

如果你想真的保留它,但我会删除这个测试。现在它什么也没做,所以这是垃圾。

最好不要保留垃圾代码。

答案 2 :(得分:0)

任何编写测试的人都希望它每次都失败,告诉那些运行测试的人应该进行测试,但是还没有编写。

也许你的工作是将其替换为通过的实现。