【发布时间】:2009-07-27 16:43:05
【问题描述】:
最近我从 fixtures 切换到 factory_girl 来测试我的 Ruby on Rails 应用程序。如果我运行 rake test:units,在我的 /units 目录中运行测试,它们都运行得很好。如果我使用 rake test:functionals 运行我的功能测试(在我的 /functional 目录中),情况也是如此。
但是,如果我只是简单地运行 rake 测试,同时运行我的单元测试和功能测试,我的第二组测试(在本例中为功能测试)的验证失败,并显示消息“验证失败:名称已经采取了。”
我相信这是由于功能测试创建的对象与在单元测试中创建的对象具有相同的参数 - 导致我相信在单元测试和功能测试之间没有清除测试数据库。
我使用 factory_girl 的排序来获得对象的唯一属性,这意味着 factory_girl 在测试之间被重置,而数据库则没有。我能做些什么来解决这个问题?有没有办法清除我的两个测试包之间的数据库?
【问题讨论】:
-
你找到解决这个问题的方法了吗?我有完全相同的。由于某种原因,工厂女孩序列在功能测试和单元测试之间被重置。
标签: ruby-on-rails ruby unit-testing factory-bot