Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 4 与制造商隔离测试STI基类_Ruby On Rails 4_Rspec_Fabrication Gem - Fatal编程技术网

Ruby on rails 4 与制造商隔离测试STI基类

Ruby on rails 4 与制造商隔离测试STI基类,ruby-on-rails-4,rspec,fabrication-gem,Ruby On Rails 4,Rspec,Fabrication Gem,我在当前的项目中使用STI,希望能够单独测试基类。不幸的是,当我试图创建基类的实例时,插入到type列中的伪值会导致错误 无效的单表继承类型:fakevalue不是的子类 我的桌子 因为我可能有无限数量的子类,所以我希望能够在与子类完全隔离的情况下测试我的基类。因为Rails正在检查子类,所以这似乎是不可能的 有办法吗?因此,在与同事讨论后,我们得出了以下解决方案 在spec文件中,我添加了一个空的伪类,并从基类继承。然后我可以使用这个虚拟类进行测试。因为虚拟类是空的,所以测试的唯一逻辑是基类。

我在当前的项目中使用STI,希望能够单独测试基类。不幸的是,当我试图创建基类的实例时,插入到
type
列中的伪值会导致错误

无效的单表继承类型:fakevalue不是的子类 我的桌子

因为我可能有无限数量的子类,所以我希望能够在与子类完全隔离的情况下测试我的基类。因为Rails正在检查子类,所以这似乎是不可能的


有办法吗?

因此,在与同事讨论后,我们得出了以下解决方案

在spec文件中,我添加了一个空的伪类,并从基类继承。然后我可以使用这个虚拟类进行测试。因为虚拟类是空的,所以测试的唯一逻辑是基类。然后,我可以添加/删除子类,而不用担心破坏基类测试