Rails 3:如何测试使用acts_as风格插件的模型?

时间:2011-05-16 19:05:02

标签: ruby-on-rails-3 unit-testing ruby-on-rails-plugins

我编写了一个非常简单的插件(在Rails guide之后),它向has_sex添加了ActiveRecord::Base方法,在调用时添加了一些实例方法(用于获取相应的方法)代词等等到模型和validates :sex, inclusion: {in: %w(male female)}

我应该如何在使用它的模型上编写单元测试?

我可以测试Person < HasSex::InstanceMethods,如果在Person上调用了has_sex,那将是真的(并且插件测试确保产生所需的行为)。但我想知道这是否真的测试实现而不是行为?

另一方面,我可以测试Person.sex是否只允许值'男性'和'女性',并且各种实例方法都具有所需的效果,但后来我复制了我为其编写的测试插件本身。

这里最好的方法是什么?为了记录,我正在测试Test :: Unit和Shoulda,但我对原理更感兴趣而不是更精细的细节。

0 个答案:

没有答案