获得隐含的会话错误

时间:2016-02-05 14:59:56

标签: ruby text implicit-conversion

我创建了一个项目类,我正在尝试对它进行测试。在测试之外运行代码时,不会抛出任何错误。因此我假设我测试错了。

    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 个答案:

答案 0 :(得分: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)