Путать с рубином - PullRequest
       14

Путать с рубином

2 голосов
/ 04 января 2012

В чем разница между spec / rspec и mspec?В ruby ​​spec home сказано, что мы должны использовать команду mspec.

Но некоторые другие парни сказали, что это должен быть 'spec kind_of_spec.rb'.

Также кто-то сказал, что мы должны использовать rspec.

В чем разница этих трех модулей?

Ответы [ 3 ]

5 голосов
/ 04 января 2012

Короче говоря - эти модули имеют одинаковую цель (тестирование), но разные виды наборов инструментов для достижения этой цели.

RubySpec . RubySpec - это проект для написания исполняемой спецификации для языка программирования Ruby.

RSpec - RSpec - это инструмент для разработки на основе поведения для программистов на Ruby. BDD - это подход к разработке программного обеспечения, который сочетает в себе разработку через тестирование, проектирование на основе домена и планирование на основе приемочного тестирования. RSpec помогает вам выполнить часть этого уравнения в TDD, сосредоточив внимание на документации и аспектах проектирования TDD.

MSpec - MSpec - это специализированная структура, совместимая по синтаксису с RSpec для основные вещи, такие как + описать +, + это + блоки и + до +, + после + действия. MSpec содержит дополнительные функции, которые помогают в написании RubySpecs, используемых несколько реализаций Ruby.

3 голосов
/ 04 января 2012

Это разные инструменты / проект с очень похожими названиями, но совершенно разными целями!

1) rspec

RSpec - это инструмент, который выиспользуйте, чтобы проверить свой собственный код ruby.Это замена встроенной среды тестирования Rails, описанной в Руководство по Rails здесь.

Если вы переключаетесь на rspec, вы запускаете команду

rake spec

длязапустите весь набор тестов или выполните команду, например

rspec spec/models/course_spec.rb

, чтобы выполнить одну конкретную часть теста.

2) rubyspec и mspec

RubySpec - проект для написания исполняемой спецификации для языка программирования Ruby .Существует потребность в такой спецификации, потому что есть несколько различных интерпретаторов ruby: Ruby Interpreter от Matz (называемый MRI) является стандартом де-факто, но есть также Rubinius, JRuby, IronRuby, MacRuby, HotRuby, ...

MSpec - инструмент, используемый при разработке Ruby Specs.Это похоже на использование zu rspec.

Если вы хотите написать новый интерпретатор Ruby, вы можете использовать rubyspec, чтобы проверить, правильно ли вы это делаете.

Но RubySpec не является чем-то необходимым, если вы 'просто использую ruby ​​для разработки собственного веб-проекта.

3 голосов
/ 04 января 2012

RubySpec отличается от RSpec

Начиная с RSpec2, вы должны использовать команду rspec <path> вместо rake spec для запуска ваших спецификаций

...