rspec:“描述MyClass :: Something do”

时间:2011-12-06 19:20:31

标签: ruby testing syntax rspec

我是rspec的新手。以下语法令人困惑:

describe MyClass::Something do

Something指的是什么?我正在查看的rspec测试包含上述行。但是,MyClass不包含与Something相关的任何内容。

2 个答案:

答案 0 :(得分:5)

您对Ruby语法感到困惑,而不是RSpec语法。 MyClass是一个模块,SomethingMyClass模块中的类或模块。 ::是范围解析运算符,用于告诉Ruby您要查找的Something

module Foo
  class Bar
    def say_hello
      puts "hello"
    end
  end
end

foo = Foo::Bar.new
foo.say_hello
#prints "hello"

有关模块的更多信息,请参阅http://ruby-doc.org/docs/ProgrammingRuby/html/tut_modules.html

答案 1 :(得分:1)

这与Rspec无关。您正在寻找的答案是SomethingMyClass中的内部类或模块。 Something指的是类/模块Something中名为MyClass的类/模块。这是一个例子:

class MyClass
  module Something
  end
end