我有一个负的情况下与黄瓜进行测试。 具体而言,我想确保当有人张贴一个网址以无效的句柄,然后网站会返回一个错误。
我的情况是这样的:
场景:创建以过短的手柄人在名为“弗雷德”有柄“太短暂”更新的人那么我应该得到一个500错误
我一步看起来像
当/ ^命名为“()”有柄“()”人的最新消息$ /做|名,处理| 参观 “/移动/更新?处理=#{} UDID&名称=#{name}的”
当我运行的情况下,它永远不会给当时的一部分,因为从当错误的
错误:没有手柄(RuntimeError)
这是正确的,什么时候应该把一个500错误。
我只是不知道如何短语时为负测试。 也许我应该用的东西比时有什么不同?
如果您的正确行为时,第一步是产生一个错误,你的情况下使用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