簡體   English   中英

運行RSpec集成測試時,NoMethodError未定義方法“合並”

[英]NoMethodError undefined method 'merge' when running RSpec integration test

我正在遵循Micheal Hartl的Ruby on Rails教程2.3版,並且已經正確執行了集成測試的步驟。 / sample_app / spec / integration中,我有一個名為layout_links_spec.rb的文件,看起來像這樣。

require 'spec_helper'
describe "Layout links" do
 it "should have a Home page at '/'" do
  get '/'
   response.should render_template('pages/home')
  end
 end

當我做

$ spec spec/

我收到以下錯誤

1)
NoMethodError in 'Layout links should have a Home page at '/''
undefined method `merge' for nil:NilClass
 /home/rails_projects/sample_app/spec/integration/layout_links_spec.rb:4:

Finished in 0.060225 seconds

1 example, 1 failure

請幫我解決這個錯誤

基於這個問題,在我看來,您正在關注他的教程的第1版。 如果是這樣,他用來生成集成測試的命令在第178頁的5.2.1節。

rails generate integration_test layout_links

結果是spec / requests / layout_links_spec.rb下的文件


如果您瀏覽他的應用程序的源代碼,則沒有spec / integration文件夾。 在這里看看,是否有幫助。 希望如此。

PS:他評論說:“在RSpec中,集成測試也稱為請求規范 -該術語的起源對我來說是晦澀的。”

在RSpec 文檔中 ,我發現了這一點:請求規范為Rails的集成測試提供了一個薄薄的包裝,並旨在在整個堆棧中推動行為,包括路由(由Rails提供)而沒有存根(由您決定)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM