Ruby on Rails -为抽象类编写Rspec测试

yyyllmsg  于 12个月前  发布在  Ruby
关注(0)|答案(1)|浏览(134)

我正在做一个项目,需要更新ApplicationRecord的典型功能,以包括验证,检查DB中包含的每个模型都有一个特定的字段。

class MyCustomApplicationRecordClass < ApplicationRecord
    self.abstract_class = true
    validate :custom_validation

    def custom_validation
        ...
    end
end

字符串
然后,我的模型以以下方式继承这个类:

class MyModel < MyCustomApplicationRecordClass
...
end


虽然验证按预期工作&我可以编写测试来确认从MyCustomApplicationRecordClass继承的每个类的功能是否正常,但我正在努力编写测试来确认该类的验证是否按预期工作。我尝试创建一个“测试”类,但是收到一个错误,我的测试类不对应于我的数据库中的一个表(当然它不对应)。什么是最好的方法来测试这个验证是否按预期执行?

k2arahey

k2arahey1#

This answer provides an option。如果创建一个加载抽象类的TestClass,则可以关闭模式加载,这将消 debugging 误消息,从而允许测试抽象类。

class TestClass < MyCustomApplicationRecordClass
    def self.load_schema!
         @columns_hash = {}
    end
end

字符串

相关问题