spec / rspec和mspec之间的区别是什么?在ruby spec home中,它说我们应该使用mspec命令。
但其他一些人说它应该是'spec kind_of_spec.rb'。
有人说我们应该使用'rspec'。
这三个模块的区别是什么?
这些是不同的工具/项目,名称非常相似但目标完全不同!
1)rspec
RSpec是一个用于测试自己的ruby代码的工具。它是Rails Guide中描述的Rails内置测试框架的替代品。
如果切换到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并不是必需的。
简而言之 - 这些模块具有相同的目标(测试),但可以实现不同类型的工具集。
RubySpec。 RubySpec是一个为Ruby编程语言编写可执行规范的项目。
RSpec - RSpec是Ruby程序员的行为驱动开发工具。 BDD是一种软件开发方法,它结合了测试驱动开发,域驱动设计和验收测试驱动规划。 RSpec帮助您完成TDD的TDD部分,重点关注TDD的文档和设计方面。
MSpec - MSpec是一个与RSpec语法兼容的专用框架,用于基本的东西,比如+ describe +,+ it + blocks + + +之前+ + +之后+动作。 MSpec包含有助于编写多个Ruby实现所使用的RubySpec的其他功能。