Rails 夹具和命名空间模型 - 活动记录::夹具::夹具错误



在我使用Minitest和夹具完成测试套件的应用程序中,我遇到了这样的问题,我无法解决,也找不到解决方案。

我有一个模型Survey和固定装置test/fixtures/surveys.yml

one:
user: admin
name: Survey one
description: This is survey one
company: university
review_type: 1
two:
user: admin
name: Survey two
description: This is survey two
company: university

另外,我有命名空间surveys,并且有一个问题模型 -Surveys::Question(具有多态关联(,它具有相应的夹具test/fixtures/surveys/questions.yml

one:
sentence: Survey question one?
display_order: 1
question_type: 0
questionable: one (Survey)
two:
sentence: Survey question two?
display_order: 2
question_type: 1
questionable: one (Survey)

到目前为止一切顺利,一切正常。但是每当我尝试为灯具添加另一个questions定义时,我们都会说:

three:
sentence: Survey question three?
display_order: 3
question_type: 2
questionable: one (Survey)

引发错误:ActiveRecord::Fixture::FixtureError: table "surveys" has no column named "sentence"

我完全无法跟进,为什么突然ActiveRecord::Fixtures无法跟进。

如有任何建议,我将不胜感激。

确保数据库架构未更改,并且未删除或重命名数据库中的列或表。 每当更改架构并运行迁移时,请确保在运行测试之前运行以下命令:

rake db:test:prepare

然后再次尝试运行测试。 如果收到相同的错误,则表示测试数据库缺少该列。 检查迁移以确保

。另外,您认为也许您需要three:test/fixtures/surveys.yml吗?

最新更新