9

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

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

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

从这个问题的标题可以看出,我使用的是 Test::Unit。此外,如果有任何区别,该项目就是 Rails 项目。

4

2 回答 2

8

测试单元 2.x 的新特性表明 test-unit 2.x(gem 版本,而不是 ruby​​ 1.8 标准库)允许您省略测试。

于 2010-05-30T23:49:06.150 回答
8

上一个答案中提到的功能包括omit()方法和omit_if()

def test_omission
  omit('Reason')
  # Not reached here
end

def test_omission
  omit_if("".empty?)
  # Not reached here
end

来自:http ://test-unit.rubyforge.org/test-unit/en/Test/Unit/TestCaseOmissionSupport.html#omit-instance_method

于 2014-04-03T01:03:40.327 回答