似乎有两个宝石提供RSpec匹配器与Mongoid一起使用。
哪个是更好的选择?为什么?
MONGOID-RSPEC
Evan Sagge的mongoid-rspec gem为Mongoid提供RSpec匹配器。包括用于关联,选项,验证和字段的匹配器
http://github.com/evansagge/mongoid-rspec
REMARKABLE-MONGOID
Brian Cardarella的非凡的mongoid宝石为Mongoid提供了RSpec匹配器。它包含仅适用于Mongoid的匹配器,以及来自Remarkable :: ActiveModel的所有验证匹配器
http://github.com/bcardarella/remarkable_mongoid
答案 0 :(得分:12)
就个人而言,我认为你不应该使用它们。指定您希望从代码中获得的行为,而不是实现,您的规范将更有意义。
如果您决定从Mongoid切换到MongoMapper会发生什么?或者回到ActiveRecord?你必须抛弃大部分测试套件并重新编写它。
所有这些库都指导您进行开发驱动测试,这是BDD / TDD的完全对立。
答案 1 :(得分:9)
至于哪两个库更好,快速查看README似乎mongoid-rspec有更多功能。但是,我从未使用它,也不能谈论任何使用它的经验。
所有这一切都说得非常诚实(即使我写了一个库),我认为两者都是废话。不幸的是,Shoulda开始了这种无用的验证和协会测试方式,每个人都纷纷效仿。 (包括我自己)在几乎每种情况下编写测试都只是编写实际代码的重复工作。你根本没有真正测试任何东西。在最好的情况下,他们可以看到一个完整性检查。在最坏的情况下,他们完全是浪费时间。
我建议在测试套件的不同部分断言行为。