有人能告诉我这里我做错了什么吗?
在我的test.rb文件
上class Test
def sum(a, b)
a + b
end
end
在我的setup.rb文件
上require 'rspec/expectations'
require_relative 'test'
test = Test.new
result = test.sum 1, 2
expected = 3
expect(result).to eql(expected)
当我在终端上运行“ruby setup.rb”时,它给了我
setup.rb:12:in `<main>': undefined method `expect' for main:Object (NoMethodError)
我试过要求'rspec',这也给了我同样的错误。我正确要求我的lib吗?
答案 0 :(得分:0)
Rspec仅仅因为需要而不会污染全局命名空间。
如果您加入RSpec::Matchers
,那么您应该可以致电expect
。
虽然可以像这样自己使用rspec的比特,如果你刚开始使用rspec,它可能不是你想要的。你可能想要所有的rspec并创建实际的规格,即
RSpec.describe Test do
it "should ..."
expect(Test.new.sum(1,2)).to eq(3)
end
end
有很多入门的rspec教程可以帮助你入门。 rspec-core readme有一个例子,它正是你正在做的