spec / rspec和mspec之间的区别是什么? 在ruby spec home中,它说我们应该使用mspec命令。
但是其他一些人说它应该是'spec kind_of_spec.rb'。
也有人说我们应该使用'rspec'。
这三个模块的区别是什么?
答案 0 :(得分:5)
简而言之 - 这些模块具有相同的目标(测试),但可以使用不同类型的工具集。
RubySpec。 RubySpec是一个为Ruby Programming Language编写可执行规范的项目。
RSpec - RSpec是Ruby程序员的行为驱动开发工具。 BDD是一种软件开发方法,它结合了测试驱动开发,域驱动设计和验收测试驱动规划。 RSpec帮助您完成该方程的TDD部分,重点关注TDD的文档和设计方面。
MSpec - MSpec是一个与RSpec for语法兼容的专用框架 基本的东西,比如+ describe +,+ it + blocks + + before +,+ after + actions。 MSpec 包含有助于编写使用的RubySpecs的其他功能 多个Ruby实现。
答案 1 :(得分:3)
答案 2 :(得分:3)
这些是不同的工具/项目,名称非常相似但目标完全不同!
1)rspec
RSpec是一个用于测试自己的ruby代码的工具。它是 替换Rails的内置测试框架描述 在Rails Guide这里。
如果切换到rspec,则运行命令
rake spec
运行整个测试套件,或运行像
这样的命令rspec spec/models/course_spec.rb
运行测试的一个特定部分。
2)rubyspec和mspec
RubySpec是为Ruby编程语言编写可执行规范的项目。需要这样的规范,因为有几个不同的ruby解释器:Matz的Ruby解释器(称为MRI)是事实上的标准,但也有Rubinius,JRuby,IronRuby,MacRuby,HotRuby,......
MSpec是用于开发Ruby规范的工具。它的用法类似于zu rspec。
如果你想编写一个新的Ruby解释器,你可以使用rubyspec测试你是否 做得对。
但是如果你只是使用ruby来开发自己的web项目,那么RubySpec并不是必需的。