我認爲這是一個非常基本的問題......爲什麼不是assert
方法在這個簡單的例子中工作?Rails「斷言」未定義的方法'+'
assert true
我收到以下錯誤信息:
NoMethodError Exception: undefined method `+' for nil:NilClass
這是軌道4.2.1。
編輯:這實際上是整個代碼塊。我所做的只是進入rails控制檯並輸入assert true。
我認爲這是一個非常基本的問題......爲什麼不是assert
方法在這個簡單的例子中工作?Rails「斷言」未定義的方法'+'
assert true
我收到以下錯誤信息:
NoMethodError Exception: undefined method `+' for nil:NilClass
這是軌道4.2.1。
編輯:這實際上是整個代碼塊。我所做的只是進入rails控制檯並輸入assert true。
雖然有一大堆的事情要了解什麼是背後Rake
魔術,Rails
,當你運行rake test
Minitest
,但基本上,如果你想獲得一些基本的瞭解OOP和的紅寶石才把到Rails,你不會在你的控制檯中做到這一點。
當你在你的Rails控制檯運行assert true
直接,這意味着你打電話叫main
的對象上assert
方法。然而,assert
方法在assertions.rb
下Assertions
模塊定義(您可以通過運行gem open minitest
檢查或發現您的寶石的位置),它包含在Test
類。這意味着應該在Test
類的實例上調用assert
方法,這實際上是在Rails中運行測試時發生的。 main
只是方法未定義的Object
類的一個實例。
但奇怪的是,你從控制檯得到的消息,應該是
NoMethodError: undefined method 'assert' for main:Object
請張貼整個代碼塊完整的錯誤堆棧跟蹤。 –
該錯誤與該行代碼無關。我們可以看看其餘的嗎? – sevenseacat
請發佈更多信息,以便我們提供幫助。 – Beengie