首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails 4生成测试数据库

Rails 4生成测试数据库
EN

Stack Overflow用户
提问于 2015-10-04 23:42:13
回答 1查看 375关注 0票数 0

我使用的是带有sqlite的Rails 4.2.3。我有一个简单的'assert true‘单元测试,使用内置的ActiveSupport::TestCase。

在db/migrate中有一个迁移。

我不确定为什么以下原因会导致测试成功运行,但我预计会出现“pending migrations”错误:

代码语言:javascript
复制
rwc $ rake db:drop:all
rwc $ rake db:migrate:status
Schema migrations table does not exist yet.
rwc $ rake db:migrate:status RAILS_ENV=test
Schema migrations table does not exist yet.
rwc $ rake test
Run options: --seed 43484

# Running:

.

Finished in 0.011646s, 85.8671 runs/s, 85.8671 assertions/s.

1 runs, 1 assertions, 0 failures, 0 errors, 0 skips

测试没有与数据库交互,但我仍然预计会由于尚未应用的迁移而出现错误。

有人能解释这种行为吗?

EN

回答 1

Stack Overflow用户

发布于 2015-10-04 23:47:35

只需从字面上阅读以下内容:

为了运行您的测试,您的测试数据库需要具有当前结构。测试帮助器检查测试数据库是否有任何挂起的迁移。如果是这样,它将尝试将db/schema.rb或db/structure.sql加载到测试数据库中。如果迁移仍处于挂起状态,则会引发错误。通常,这表明您的模式未完全迁移。对开发数据库运行迁移(bin/rake :migrate)将使模式保持最新。

参考:http://guides.rubyonrails.org/testing.html#rails-sets-up-for-testing-from-the-word-go

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32935260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档