我怎么有黄瓜在Rails负的情况?(How do I have a negative scenari

2019-09-28 17:50发布

我有一个负的情况下与黄瓜进行测试。 具体而言,我想确保当有人张贴一个网址以无效的句柄,然后网站会返回一个错误。

我的情况是这样的:

场景:创建以过短的手柄人在名为“弗雷德”有柄“太短暂”更新的人那么我应该得到一个500错误

我一步看起来像

当/ ^命名为“()”有柄“()”人的最新消息$ /做|名,处理| 参观 “/移动/更新?处理=#{} UDID&名称=#{name}的”

当我运行的情况下,它永远不会给当时的一部分,因为从当错误的

错误:没有手柄(RuntimeError)

这是正确的,什么时候应该把一个500错误。

我只是不知道如何短语时为负测试。 也许我应该用的东西比时有什么不同?

Answer 1:

如果您的正确行为时,第一步是产生一个错误,你的情况下使用lambda块捕获此RuntimeError:

When /^person named "(.)" with handle "(.)" updates$/ do |name, handle| 
  lambda { 
    visit "/mobile/update?handle=#{udid}&name=#{name}"
  }.should raise_error("No Handle")
end

您可能需要调整的raise_error一部分,我不知道到底是错误的类型,你提出做

你可以有一个步骤。然后像这样的(起点)

Then /^the save should not be successful$/ do
  response.should be_nil
end


文章来源: How do I have a negative scenario with Cucumber in Rails?