如何使 FitNesse 测试需要显式运行
有没有办法标记健身测试,使其不会作为套件的一部分运行,但仍然可以手动运行?
作为持续集成的一部分,我们运行 FitNesse 测试,因此尚未实施的新测试会导致构建失败。我们希望有一种方法可以让我们的测试人员和 BA 能够添加可能会失败的新测试,同时仍然继续验证现有测试,作为持续集成的一部分。
有什么建议吗?
Is there a way to mark a fitnesse test such that it will not be run as part of a suite, but it can still be run manually?
We have our FitNesse tests running as part of our continuous integration, so new tests that are not yet implemented cause the build to fail. We'd like a way to allow our testers and BAs to be able to add new tests that will fail while still continuing to validate the existing tests as part of continuous integration.
Any suggestions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
最好的方法是使用套件标签。您可以使用属性页面中的标签标记测试,然后可以过滤 或 过滤以排除它们。
在这种情况下,我将使用“NotOnCI”标签排除。然后将以下参数添加到 URL:
完整的 URL 可能看起来像这样:
您可以通过用逗号分隔来选择多个标签,但它们的作用是“或”,而不是“和”。
查看 FitNesse 用户指南了解更多详细信息。 http://fitnesse.org/FitNesse.UserGuide.TestSuites.TagsAndFilters
The best way to do this is with suite tags. You can mark tests with a tag from the properties page and then you can filter for the or filter to exclude them.
In this case I would exclude with "NotOnCI" tag. Then add the following argument to the URL:
This might look like this then as the full URL:
You can select multiple tags by splitting with commas, but they act as "or",Not "and".
Check the FitNesse user guide for more details. http://fitnesse.org/FitNesse.UserGuide.TestSuites.TagsAndFilters
拥有多个套件是否有意义,其中一个用于应该始终通过的回归测试,另一个用于尚未实现的测试?
测试人员和 BA 可以将测试/套件添加到后一个套件中,而 CI 服务器仅运行前一个套件中的测试。
一旦开发人员相信他已经实现了该行为,他们就可以将与该功能相关的测试/套件移动到“回归”套件,以便在持续集成中对其进行检查。
这可能会使测试/套件的状态比仅具有标签更明确/明显。它还将提供从开发到测试/BA 的明确移交,以表明实施已完成。
如果您只想在包含特定测试/套件的套件的整体运行期间不运行测试/套件,您也可以在该测试/套件的属性页面中勾选“跳过(递归)”(在“页面”下方)类型')。
Would it make sense to have multiple Suites, one for regression tests that should always pass, and another one for the tests that are not yet implemented?
Testers and BAs can add tests/suites to the latter suite and the CI server only runs tests in the former suite.
Once a developer believes he has implemented the behavior they can move the test/suite relating to that functionality to the 'regression' suite so that it will be checked in continuous integration.
This might make the status of a test/suite a bit more explicit/obvious than just having a tag. It would also provide a clear handover from development to test/BA to indicate the implementation is finished.
If you just want to have a test/suite not run during an overall run of a suite that contains the particular test/suite you could also just tick 'Skip (Recursive)' in the properties page of that test/suite (below 'Page Type').