以下是我尝试使用黄瓜运行的代码。
require 'watir-webdriver'
require 'spec'
Given /^I navigate to Google$/ do
@browser = Watir::Browser.new :ff
@browser.goto "http://www.google.co.in"
end
When /^I enter Wado into the search field$/ do
searchField=@browser.text_field(:name,'q')
searchButton=@browser.button(:name,'btnG')
searchField.set 'Wado'
searchButton.click
end
Then /^the text DICOM should be present$/ do
@browser.div(:id => 'resultStats').wait_until_present
@browser.text.include?("DICOM").should == true
@browser.close
end
但它给我的错误是这样的: 这是我在运行测试后得到的结果:
**
失败的场景:黄瓜特色\ karate.feature:3# 场景:主人在哪里?
1个场景(1个失败)3个步骤(1个失败,2个失败)
**
,错误是:
未定义的方法
should' for true:TrueClass (NoMethodError) ./features/step_definitions/step_karate.rb:18:in
/ ^文本DICOM 应该出现$ /'
features \ karate.feature:6:在`那么文本DICOM应该出现'
Ruby版本是1.9.3 帮帮我!!
答案 0 :(得分:1)
正如问题评论中所讨论的,问题是因为未安装rspec
,而should
由rspec gem提供。
我关于rspec版本的初步问题实际上是因为在rspec的更高版本中,should
符号(something.should be_true
)已经失宠,优先于expect
符号({{ 1}})。
我(和其他一些人)仍然更喜欢expect(something).to be_true
符号。