rspec:"描述MyClass :: Something do"

Sun*_*day 0 ruby testing syntax rspec

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

describe MyClass::Something do
Run Code Online (Sandbox Code Playgroud)

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

jer*_*son 5

您对Ruby语法感到困惑,而不是RSpec语法.MyClass是一个模块,Something是模块内部的类或MyClass模块.该::是范围解析运算符来判断哪些红宝石Something你正在寻找.

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

foo = Foo::Bar.new
foo.say_hello
#prints "hello"
Run Code Online (Sandbox Code Playgroud)

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