我有几个表:cities
和 provinces
在开发和测试中,我已经从一个 sql 文件直接填充到数据库,而没有在 Ruby 中使用迁移或种子文件。直接 SQL。
每次使用 Selenium 运行测试时,数据库都会被删除,因此我需要运行 mysql (...) database_test < fill_cities_provinces.sql
我该如何解决这个问题?我可以让两个表在测试中不可删除吗?
我注意到如果场景标记为 @javascript
就会发生这种情况.否则,如果它使用默认驱动程序,则该表的内容不会被删除。
最佳答案
我假设您使用的是 DatabaseCleaner在测试期间清理数据库。以下策略应该有所帮助
DatabaseCleaner.strategy = :truncation, {:except => %w[cities provinces]}
关于database - Rails 测试数据库中的持久表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11838440/