你好,我不知道爲什麼這些測試失敗。這是例如,從「專家」德國圖書 也許有人可以幫助我.... https://github.com/AGERECKE/Rails-Book-Project http://pastebin.com/q4kS59ek示例失敗,未定義的方法`model_name'爲RSpec :: Mocks ::模擬:類和失敗/錯誤:Bookmark.should_receive(:新)
感謝
你好,我不知道爲什麼這些測試失敗。這是例如,從「專家」德國圖書 也許有人可以幫助我.... https://github.com/AGERECKE/Rails-Book-Project http://pastebin.com/q4kS59ek示例失敗,未定義的方法`model_name'爲RSpec :: Mocks ::模擬:類和失敗/錯誤:Bookmark.should_receive(:新)
感謝
約received: 0 times with any arguments
您使用方法visit
通常是用於「驗收「測試不是用於控制器測試。我不知道這種方法在這種情況下做了什麼。我想你應該改變它post
約undefined method 'model_name' for RSpec::Mocks::Mock:Class
您存根Bookmark.stub(:new).and_return(@bookmark)
其中@bookmark = double(Bookmark)
- 這意味着@bookmark
不是Bookmark
情況下,它是RSpec::Mocks::Mock:Class
實例。 當動作create
開始工作時,它會嘗試保存記錄。方法save
返回false(它被你取代)並且再次呈現一個視圖new
。此頁面包含基於@bookmark
的表格,其中稱model_name
。 可能的解決方法:使用@bookmark = Bookmark.new
您好@gotva,我改變'visit'到'POST'和bookmarkscontroller我已經改變新方法'@bookmark = Bookmark.new(PARAMS [:書籤])來@ bookmark = Bookmark.new',但我得到[鏈接](http://pastebin.com/zV8RbfRi)。也許我想念你。 – user3276995
你的控制者是正確的(我希望)。問題在於[stub](https://github.com/AGERECKE/Rails-Book-Project/blob/master/spec/bookmarks_controller2_spec.rb#L18)。對於[描述](https://github.com/AGERECKE/Rails-Book-Project/blob/master/spec/bookmarks_controller2_spec.rb#L18),你應該在'@上更改'@bookmark = double(Bookmark)' bookmark = Bookmark.new' – gotva
非常感謝!它的工作。 – user3276995