我是一名 .Net 开发人员,并且是 Java 和 JUnit 的新手。
我习惯在某些情况下使用 NUnit Assert.Inconclusive()
方法,但我在 JUnit 中没有遇到过同样的事情。
我浏览了 JUnit 网站以及 Google 和 stackoverflow。乍一看,JUnit 中似乎没有与 NUnit Assert.Inconclusive()
方法等效的方法。
真的是这样吗?
最佳答案
当不满足测试的先决条件时,我在 NUnit 中使用 Inconclusive 来断言。
例如,如果您的测试需要读取一个文件然后对该输入执行某些操作,并且可能该文件丢失或者运行测试的用户没有读取该文件的权限 - 测试本身不应失败,因为您的算法可能没有问题,只是运行测试的环境有问题。
另一个用例是,如果您想编写一个与数据库相关的集成测试。如果数据库未运行或无法连接,则您的测试确实没有定论,而不是失败 - 由于环境问题,它甚至从未开始运行。
为此,我建议@Ignore 不是您想要的,因为这会使您的测试根本无法运行。相反,您想使用各种 Assume方法。
关于java - JUnit 等同于 NUnit Assert.Inconclusive?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26376073/