ฉันใช้ความคาดหวัง rspec ในกรอบงานแตงกวาและดูดีเมื่อใช้ในระดับการกำหนดขั้นตอน
ฉันได้กำหนดค่าไฟล์ env.rb ด้วย:
require 'rspec/expectations'
World(RSpec::Matchers)
ปัญหาที่ฉันสังเกตเห็นตอนนี้คือหากฉันพยายามใช้ rspec ภายในวิธีการของอ็อบเจ็กต์ที่ใช้ในขั้นตอนใดขั้นตอนหนึ่ง แสดงว่าฉันล้มเหลว
E.g.
Steps_definition.rb
service.use_rspec
class Service
def use_rspec
header = page.find("div#services h2").text
header.should (be 'TV')
end
end
Error after execution:
undefined method `be' for #<Service:0x2592570> (NoMethodError)
มีความคิดใดบ้างที่ปัญหาอาจเกิดขึ้นได้?
ฉันได้ลองยืนยันที่คล้ายกันกับ Capybara.page.find(...).should have_content('...') ภายในคลาสนั้นและ 'have_content' ไม่ได้รับการยอมรับเช่นกัน ดังนั้นจึงไม่แน่ใจจริงๆ ว่าเกิดอะไรขึ้น :S
ขอบคุณมากสำหรับเคล็ดลับใด ๆ !