2013-09-26 18 views
3

我希望下面的工作預期(克拉斯)。爲了接收(新的)語法

expect(UserUpdateService).to receive(:new) 

但它拋出厚望

undefined method `receive' for #<RSpec::Core::ExampleGroup::Nested_1:0x007faa044d42d8> 

的「老」的語法,但是,作品:

UserUpdateService.should_receive(:new) 

任何想法爲什麼第一個/新語法引發異常?

+1

爲什麼你期望它的工作? –

+1

啊,爲什麼不呢?我雖然應該語法已被棄用。 – Kitto

+0

爲什麼是?在rspec文檔中是否有一段代碼說你可以這樣做? –

回答

4

這個例子通過使用RSpec 2.14.1

specify do 
    expect(UserUpdateService).to receive(:new) 
    UserUpdateService.new 
end 
+0

是真的,我的問題是我還在運行rspec 2.13.x,expect/receive語法已經在爲對象工作,因爲它看起來像 – Kitto