1

我最近开始在我的应用程序中使用 FactoryGirl 而不是 Fixtures。下面是我写的一个规范,用于测试使用 factorygirl 保存的数据是否出现在单独的页面中

describe "Tasks" do
  describe "GET /Ajax add", :focus do
    it "checks ajax js", :js => true do
      task = FactoryGirl.create(:task, :name => "writing test task")
      visit "/list"
    end
  end
end

在页面中,/list我编写了代码来检索tasks表中的所有数据(Task model)

当我通过启动服务器运行页面时,我可以看到输出,但是在运行测试时,它总是显示空白页面。

这是因为FactoryGirl在使用后会删除所有数据吗?或者,即使我在测试中访问多个页面,我应该怎么做才能持久化数据?

4

2 回答 2

1

1) 你在使用类似 DatabaseCleaner 的东西吗?看看你的 test_helper 看看你是否正在做任何事情来清理数据库

2)检查任务的返回值,看看它实际上是成功创建的。

于 2012-11-30T18:31:54.403 回答
0

我有类似的问题,使用 Fabricator(FactoryGirl 替代品)不会持续到我的 Capybara 会话。plataformatec 的人为此写了一个解决方案。http://blog.plataformatec.com.br/2011/12/three-tips-to-improve-the-performance-of-your-test-suite/

于 2013-11-12T09:10:52.437 回答