【发布时间】:2014-10-22 18:48:03
【问题描述】:
我正在使用 Junit 通过 Seleniun WebDriver 运行测试。我正在尝试将我的测试分成功能区域以便更好地报告错误。我创建了测试来测试页面加载/将文档移动到其他工作流程。如果页面加载测试失败,或者工作流程移动失败,我想跳过后续的页面/工作流程测试。
如果测试 A 失败,我如何跳过班级中的其余测试或在班级 B 中运行测试?
注意:
我意识到我要问的是“UNIT TESTS 的“不好的做法*”。但是,我实际上将 Junit 用于 Integration 和/或 Automation 测试。(取决于您的定义。)
我已经找到@Suite.SuiteClasses 和@FixMethodOrder 来订购我的测试类和测试方法。我试图命令它们在逻辑上运行,首先测试页面加载,然后将页面的每个功能作为单独的测试。一些功能,将信息移动到其他页面,意味着其他类。我的 1 节课可能需要 1/2 多小时才能完成。如果 pre-req 测试失败,我想短路“依赖”测试,以便更快地得到我的结果/报告。
【问题讨论】:
-
为什么测试 A 失败了?
-
测试 A 可能会失败,因为文档没有正确移动到其他工作流程,或者不是我希望在页面上看到的所有元素都在那里。 (取决于测试)
-
JUnit 不会按照确定的顺序执行测试。因此,您将无法确保某个测试在另一个测试之前运行。
-
你永远不应该。良好的做法是获得完整的通过(句号)。您应该按照所有测试在逻辑上相互遵循的顺序排列您的 JUnit 测试。
标签: java junit selenium-webdriver automated-tests