2016-02-05 80 views
1

我已經創建了一個項目類,並試圖對其進行測試。在測試之外運行代碼時不會引發錯誤。因爲這個我假設我測試它錯了。獲取隱式轉換錯誤

class Item 
     attr_accessor :name, :description, :item 
      def initialize (item, description, name) 
       @name = item[:name] 
       @description = item[description] 
      end 
    end 

,我使用來測試它的代碼是

require "Asheron's_call/Item.rb" 
    require "Test/Unit" 

     class TestGame < Test::Unit::TestCase 

     def test_item 
     one = Item.new ("Potion","Red") 
     assert_equal("Potion", one.name) 
    end 
    end 


    =>93: one = Item.new ("Potion","Red") 
    94: assert_equal("Potion", one.name 

與運行測試時,我得到一個新的錯誤是一個語法錯誤。它在魔藥後期待''''。當我改變這個看看會發生什麼,然後回來說它期望我放置'結束',這對我來說是錯誤的。

回答

1

測試沒問題。該Item的構造是不是:

class Item 
    attr_accessor :name, :description 
    def initialize (name, description) 
     @name = name 
     @description = description 
    end 
end 

沒有item那裏。此外,在測試之一應該斷言的實例,而不是類:

# wrong: assert_equal("Potion", Item.name) 
assert_equal("Potion", one.name) 
+0

好吧謝謝。這樣愚蠢的錯誤。再次感謝你。 –

+0

請參閱更新。 – mudasobwa

+0

也嘗試過以上錯誤。 –