Ruby on rails 如何使用Test::Unit跳过某些测试

Ruby on rails 如何使用Test::Unit跳过某些测试,ruby-on-rails,ruby,testing,testunit,Ruby On Rails,Ruby,Testing,Testunit,在我的一个项目中,我需要与几个后端系统协作。其中一些在文档中有所欠缺,因此我有一些测试代码,这些代码与一些测试服务器交互,只是为了看到一切按预期工作。但是,访问这些服务器的速度非常慢,因此我不希望每次运行测试套件时都运行这些测试 我的问题是如何处理想跳过某些测试的情况。目前,我使用一个环境变量“BACKEND_TEST”和一个条件语句来检查是否为我要跳过的每个测试设置了该变量。但有时我希望跳过测试文件中的所有测试,而不必在每个测试的开头添加额外的行 必须与测试服务器交互的测试并不多,因为我在其他

在我的一个项目中,我需要与几个后端系统协作。其中一些在文档中有所欠缺,因此我有一些测试代码,这些代码与一些测试服务器交互,只是为了看到一切按预期工作。但是,访问这些服务器的速度非常慢,因此我不希望每次运行测试套件时都运行这些测试

我的问题是如何处理想跳过某些测试的情况。目前,我使用一个环境变量“BACKEND_TEST”和一个条件语句来检查是否为我要跳过的每个测试设置了该变量。但有时我希望跳过测试文件中的所有测试,而不必在每个测试的开头添加额外的行

必须与测试服务器交互的测试并不多,因为我在其他情况下使用flexmock。然而,你不能嘲笑自己远离现实


从这个问题的标题可以看出,我使用的是Test::Unit。此外,如果有什么不同,该项目就是Rails项目。

建议TestUnit2.x(gem版本,而不是ruby 1.8标准库)允许您省略测试。

前面的答案中提到的功能包括
省略()
方法和
省略if()


发件人:

谢谢!我以前确实看过这张幻灯片,但从未看过2.x是否真的发布过。它已经存在,我将仔细研究它。请注意,忽略测试会使它们失败。如果您不想要一堆失败的测试,您可以尝试Minitest的skip,或者只是在测试的顶部添加某个条件下的return语句。@coberlin-注意:只有在没有给出块的情况下,Omit才会引发异常。您可以通过测试主体作为块。
def test_omission
  omit('Reason')
  # Not reached here
end
def test_omission
  omit_if("".empty?)
  # Not reached here
end