testing - 如何在 JUnit 中订购共享相同代码而不是状态或数据的测试类?

标签 testing junit

我想订购不共享任何状态的测试。

例子:有测试类CreateFile和DeleteFile

DeleteFile 测试使用与 CreateFile 相同的代码。因此,如果 CreateFile 失败,则没有必要花时间尝试运行 DeleteFile。 DeleteFile 启动不会提供任何新信息。它最终会出现同样的错误。

让 JUnit 跳过它们。

最佳答案

您正在尝试将依赖项引入您的测试代码中。按照设计,JUnit 不支持测试之间的依赖关系。你可以试试 TestNG ,它特别允许依赖关系。

依赖与优化

实际上,您提出的是优化测试,而不是测试之间的依赖关系。您不希望 (delete) 测试运行,因为您知道它会失败。创建测试的结果不影响删除测试的结果。

两个测试之间的依赖关系更像是“我需要先运行测试 xxx,然后才能运行测试 yyy”,因为测试 xxx 执行测试 yyy 的设置。

两种情况都可以使用 TestNG,但我更喜欢测试之间没有依赖关系。因此,您的所有设置都将通过@Before 或@BeforeClass 完成。然后,您始终可以在 Eclipse 或其他软件中运行单个测试。事实上,对于您的情况,通过临时文件系统问题,创建文件可能不起作用,但删除可能起作用。

关于testing - 如何在 JUnit 中订购共享相同代码而不是状态或数据的测试类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10242116/

相关文章:

ruby-on-rails - 找不到 Rails MiniTest 'post' 方法

testing - 使用 Junit/Test NG 在 Selenium 中以编程方式(不使用 ANT)创建测试报告

rest - 测试 Neo4j 托管扩展

java - 静态值未分配并返回空值

spring - 在测试类弄脏 Spring JUnit 应用程序上下文后如何重置它?

java - 为什么我会收到 java.lang.Exception : No runnable methods exception in this test class?

java - 多语言集成测试框架

ios - 尝试运行测试时获取 "unable to attach test reporter"

testing - 在哪里可以看到 Jmeter 中的 xPath Extractor 结果

selenium - 警报后使用 geb 关闭弹出窗口