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