我想订购不共享任何状态的测试。
例子:有测试类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/