rspec: "опишите MyClass :: Что-то делать" - PullRequest
0 голосов
/ 06 декабря 2011

Я новичок в rspec.Следующий синтаксис сбивает с толку:

describe MyClass::Something do

Что означает Something?rspec тесты, которые я просматриваю, содержат вышеуказанную строку.Однако MyClass не содержит ничего, связанного с Something.

Ответы [ 2 ]

5 голосов
/ 06 декабря 2011

Вас смущает синтаксис 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 голос
/ 06 декабря 2011

Это не связано с Rspec.Ответ, который вы ищете, состоит в том, что Something является внутренним классом или модулем в MyClass.Something относится к классу / модулю с именем Something внутри класса / модуля MyClass.Вот пример:

class MyClass
  module Something
  end
end
...