需要Ruby Koans类或模块

时间:2014-12-19 18:23:18

标签: ruby

我在Ruby Koans中遇到以下错误:

AboutHashes#test_accessing_hashes_with_fetch已经破坏了你的业力。

师父说:   你还没有达到启蒙。   我感到沮丧。不要害怕寻求帮助。

你寻求的答案......   所需的课程或模块

请冥想以下代码:   /home/s/Downloads/github/rubykoans/about_hashes.rb:26:in`test_accessing_hashes_with_fetch'

有问题的行是以下方法的一部分:

def test_accessing_hashes_with_fetch
  hash = { :one => "uno" }
  assert_equal "uno", hash.fetch(:one)
  assert_raise(nil) do
    hash.fetch(:doesnt_exist)
  end

正如你所看到的,它要求一个类或模块,所以我很困惑,因为这不是我以前在Koans中遇到的错误。

1 个答案:

答案 0 :(得分:6)

问题在于以下几点:

assert_raise(nil) do
  hash.fetch(:doesnt_exist)
end

assert_raise测试宏期望它的参数是一类Exception。你提供了零。

要跳到答案,使用哈希中不存在的密钥调用散列上的fetch raise KeyError例外。所以测试应该有这个:

assert_raise(KeyError) do
  hash.fetch(:doesnt_exist)
end