在Rspec中使用expect匹配器
我很确定这是一个非常愚蠢的问题,但我对Cucumber、Ruby和Rspec都是新手,我正在为一些非常基本的问题而挣扎 我安装了rspec gem,我想使用期望匹配器: 预期(实际)。至等式(预期) 看起来我应该能够简单地要求rspec/expections,然后执行这些命令,但是它不起作用 我错过了什么在Rspec中使用expect匹配器,rspec,Rspec,我很确定这是一个非常愚蠢的问题,但我对Cucumber、Ruby和Rspec都是新手,我正在为一些非常基本的问题而挣扎 我安装了rspec gem,我想使用期望匹配器: 预期(实际)。至等式(预期) 看起来我应该能够简单地要求rspec/expections,然后执行这些命令,但是它不起作用 我错过了什么 1.9.3-p448 :001 > require 'rspec' => true 1.9.3-p448 :002 > require 'rspec/expectatio
1.9.3-p448 :001 > require 'rspec'
=> true
1.9.3-p448 :002 > require 'rspec/expectations'
=> true
1.9.3-p448 :003 > expected = "this"
=> "this"
1.9.3-p448 :004 > actual = "this"
=> "this"
1.9.3-p448 :005 > expect(actual).to eq(expected)
NoMethodError: undefined method `expect' for main:Object
from (irb):5
from /Users/lpc/.rvm/rubies/ruby-1.9.3-p448/bin/irb:16:in `<main>'
感谢您的帮助。如果使用Cucumber,您只需在env.rb文件中包含“rspec/expections”,然后在步骤定义中使用预期语法即可 env.rb:
require 'rspec/expectations'
步骤.rb:
Then(/^I should be able to use rspec$/) do
expected = "this"
actual= "this"
expect(actual).to eql(expected)
end
我的错误是在ruby控制台中错误地测试了这种语法。你不能这么做,因为Cucumber为你做了一些汽车制造的东西
“cucumber看到定义的Spec::Matchers和Spec::Expectations模块时,将在执行步骤的世界中隐式包含它们。”如果使用cucumber,您只需在env.rb文件中包含“rspec/Expectations”,然后在步骤定义中使用预期语法即可 env.rb:
require 'rspec/expectations'
步骤.rb:
Then(/^I should be able to use rspec$/) do
expected = "this"
actual= "this"
expect(actual).to eql(expected)
end
我的错误是在ruby控制台中错误地测试了这种语法。你不能这么做,因为Cucumber为你做了一些汽车制造的东西
“当cucumber看到定义的Spec::Matchers和Spec::Expections模块时,它将在执行步骤的世界中隐式地包含它们。”我非常希望能够在Rails控制台中试验expect()Matchers。我意识到我可以将它们包装在descripe/it块中,但在控制台中没有得到有用的结果
描述“基本rspec测量”完成“应该完成我的投标”完成预期(:a)。到等式(:a)结束;结束
它返回
RSpec::Core::ExampleGroup::Nested_2
有人能洞察到一个人是如何做到这一点的吗?我很好奇rspec内部发送通过/失败条件的路径是什么。我意识到这是rspec的一种非典型高级用法,但我很好奇;) 我非常希望能够在Rails控制台中试验expect()匹配器。我意识到我可以将它们包装在descripe/it块中,但在控制台中没有得到有用的结果
描述“基本rspec测量”完成“应该完成我的投标”完成预期(:a)。到等式(:a)结束;结束
它返回
RSpec::Core::ExampleGroup::Nested_2
有人能洞察到一个人是如何做到这一点的吗?我很好奇rspec内部发送通过/失败条件的路径是什么。我意识到这是rspec的一种非典型高级用法,但我很好奇;) test=description“basic rspec feasure”do it“should do my bidding”do expect(:a)to eq(:a)end;结束
测试。如果测试通过
测试=描述“基本rspec测量”做它“应该做我的投标”做预期(:a),运行将为真;结束测试。如果测试通过,则运行将为真