Rails测试数据库中的持久表

时间:2012-08-07 02:22:37

标签: database ruby-on-rails-3 testing cucumber

我有两个表:citiesprovinces,我在开发和测试中直接从sql文件填充到数据库,而不使用Ruby中的迁移或种子文件。直接SQL。

每次测试与Selenium一起运行时,数据库都会被删除,因此我需要运行mysql (...) database_test < fill_cities_provinces.sql

我该如何解决这个问题?我可以在测试中制作两张不可擦除的表吗?

我注意到如果方案标有@javascript,就会发生这种情况。否则,如果它使用默认驱动程序,则该表的内容不会被删除。

1 个答案:

答案 0 :(得分:0)

我假设您在测试期间使用DatabaseCleaner来清理数据库。以下策略应该有所帮助

DatabaseCleaner.strategy = :truncation, {:except => %w[cities provinces]}