Minitest:table 使用 STI 时为空
Minitest: table empty when using STI
我有一个 table 继承数据模型,其中 CityPage < Destination
。这很好用。
现在我添加了第二种类型 CountryPage < Destination
,我的测试失败了。具体来说,CityPage.all
returns 一个空的结果,即使我有 CityPage
个固定装置(之前没有改变并且工作得很好)。
我做错了什么?为什么我的测试数据没有生成?
当您的 STI 具有多个子模型时,您需要使用一个以父模型命名的夹具文件,并使用 type
属性 区分各个夹具(即 STI 的作用在引擎盖下)。所以就我而言,我需要 /test/fixtures/destinations.yml
,而不是 /test/fixtures/{city,country}_pages.yml
。
简短的谷歌搜索表明这与 Minitest 在测试运行后清除数据库有关 - 请参阅下面的评论。
我有一个 table 继承数据模型,其中 CityPage < Destination
。这很好用。
现在我添加了第二种类型 CountryPage < Destination
,我的测试失败了。具体来说,CityPage.all
returns 一个空的结果,即使我有 CityPage
个固定装置(之前没有改变并且工作得很好)。
我做错了什么?为什么我的测试数据没有生成?
当您的 STI 具有多个子模型时,您需要使用一个以父模型命名的夹具文件,并使用 type
属性 区分各个夹具(即 STI 的作用在引擎盖下)。所以就我而言,我需要 /test/fixtures/destinations.yml
,而不是 /test/fixtures/{city,country}_pages.yml
。
简短的谷歌搜索表明这与 Minitest 在测试运行后清除数据库有关 - 请参阅下面的评论。