我是rspec
的新手。以下语法令人困惑:
describe MyClass::Something do
Something
指的是什么?我正在查看的rspec
测试包含上述行。但是,MyClass
不包含与Something
相关的任何内容。
答案 0 :(得分:5)
您对Ruby语法感到困惑,而不是RSpec语法。 MyClass
是一个模块,Something
是MyClass
模块中的类或模块。 ::
是范围解析运算符,用于告诉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无关。您正在寻找的答案是Something
是MyClass
中的内部类或模块。 Something
指的是类/模块Something
中名为MyClass
的类/模块。这是一个例子:
class MyClass
module Something
end
end