Rails功能测试 - 从设置中排除方法

时间:2010-10-23 04:34:13

标签: ruby-on-rails installation functional-testing

这应该很简单,但我找不到任何例子。我在我的rails 3应用程序(从ActionController :: TestCase下降)中有标准的功能测试,如下所示:

test "see if 1+1=2" do
....
end

在顶部我有一个设置方法:

setup do
  ......
end

如何排除方法?即。

setup :except => "see if 1+1=2" do
...
end

(上述不起作用)

2 个答案:

答案 0 :(得分:0)

使用shoulda和上下文块,这样您可以在一个上下文中使用设置来进行测试,并且测试不在另一个上下文中使用它们,或者在其他上下文块之外。

答案 1 :(得分:0)

我也很好奇。没有安装和学习任何新宝石的解决方法是在测试中定义一个私有函数

test "see if 1+1=2" do
  setup_situation_1
  ...
end

test "see if 1 * 1 = 1" do
  setup_situation_1
  ..
end

test "see if 1/1 = 1" do
  # no setup here
  ...
end

...

private
def setup_situation_1
  ...
end

这是我在没有安装/学习新宝石的情况下可以想到的干燥方法 - 对于某些人来说,这可能是一个更好的解决方案,特别是那些刚接触铁轨的人。但是,我找不到有关此setup / do方法的文档 - setup / do的“except”子句肯定会是DRY-er。