2012-02-05 51 views
0

所以,我有一些麻煩在Rails中運行測試。當我跑了 '耙測試' 和我有這樣的事情Rails 3.1,問題與夾具和測試

http_basic_authenticate_with :name =>Hello.first.myhello, :password =>Hello.first.myhello 

在我的控制,我得到一個錯誤

'的method_missing':未定義的方法`創建MyHello」的零:NilClass(NoMethodError)

顯然夾具沒有被加載,有無論如何,我可以讓他們加載,並有這不失敗?使用Rails 3.1。

+0

我不使用testunit,但您是在哪裏爲此設置數據的?在一個seed.rb文件中?在你的步驟的一些設置代碼? – KobeJohn 2012-02-05 15:45:51

+0

[可能相關的問題:爲什麼在我的Rails Test :: Unit測試中我的fixture對象不可用?](http://stackoverflow.com/questions/523771/why-are-my-fixture-objects-not-available- in-my-rails-testunit-test) – KobeJohn 2012-02-05 22:53:00

回答

0

**編輯:possibly related SO question/answer?基本上,把這個在您的測試單元類:

fixtures :hellos 

如果不這樣做,你可以粘貼夾具和測試類的相關部分?

**原文:

我不知道你的經驗水平或你的設置,所以只要確認你正在測試你認爲你正在測試,你能在該行之前添加此行您題?

Hello.create(:name => some_value, :password => some_value) 

萬一有任何混淆,

未定義的方法`創建MyHello'的零:NilClass

表明您實際上並沒有得到任何記錄,而不是說你不沒有Hello模型。

+0

對,這是我正在測試的內容,我意識到這意味着我沒有任何記錄。如上所述,我正在運行「Rake測試」,但我有夾具包含數據,但很明顯,他們沒有加載。數據在fixtures/hellos.yml中設置 – 2012-02-05 19:19:02

+0

@ArtiomFine根據您的評論編輯 – KobeJohn 2012-02-05 22:51:56