在我的一个项目中,我需要与几个后端系统协作。其中一些系统缺少文档,部分原因是我有一些测试代码与一些测试服务器交互,只是为了看看一切都按预期工作。然而,访问这些服务器非常慢,因此我不想每次运行我的测试套件时都运行这些测试。
我的问题是如何处理你想跳过某些测试的情况。目前我使用一个环境变量'BACKEND_TEST'和一个条件语句来检查是否为我想跳过的每个测试设置了该变量。但有时我想跳过测试文件中的所有测试,而不必在每个测试的开头添加额外的行。
需要与测试服务器交互的测试并不多,因为我在其他情况下使用了flexmock。
从这个问题的标题可以看出,我使用的是Test::Unit。另外,如果有什么区别的话,这个项目是Rails项目。
3条答案
按热度按时间yquaqz181#
上一个答案中提到的功能包括
omit()
方法和omit_if()
还有
来自:http://test-unit.rubyforge.org/test-unit/en/Test/Unit/TestCaseOmissionSupport.html#omit-instance_method
5t7ly7z52#
New Features Of Test Unit 2.x建议test-unit 2.x(gem版本,而不是ruby 1.8标准库)允许省略测试。
bxjv4tth3#
我被以下内容搞糊涂了,它仍然会向控制台引发错误:
您可以通过将要跳过的代码 Package 在传递给
omit
的块中来避免这种情况:这实际上如预期的那样跳过了测试,并输出“忽略:测试原因”到控制台。不幸的是,你必须缩进现有的代码,使这项工作,我很乐意学习一个更好的方法来做到这一点,但这是工作。