与Fabricator隔离测试STI基类



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

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

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

有办法吗?

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

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

最新更新