RSpec集成测试示例运行两次

时间:2012-04-19 09:57:26

标签: ruby-on-rails testing rspec integration

我最近开始在我的Rails应用程序中使用RSpec进行集成测试,以避免与多个测试框架保持同步,并且正在将我的Cucumber功能转换为RSpec。

我已经成功运行了1个集成测试,但是,它似乎运行了两次示例:

rspec spec/integration/create_article_spec.rb -f documentation

admin creates article
  successfully creates article

admin creates article
  successfully creates article

Finished in 0.51816 seconds
2 examples, 0 failures

以下是create_article_spec.rb的内容:

require 'spec_helper'

feature "admin creates article" do
 scenario "successfully creates article" do
  visit admin_articles_url
  click_link "New Article"
  fill_in "Title", with: "Test 1"
  fill_in "Body", with: "Test Article"
  click_button "Save"
  page.should have_content "New Article Published"
 end
end

我找不到任何可能发生这种情况的原因,而且发生这种情况的所有其他情况都不适用于我的情况。

它似乎只发生在我的集成测试中,所有其他测试似乎都没有受到影响。

我希望有更多RSpec知识的人比我能找出错过的东西。

版本

Rails(3.2.2) RSpec(2.8.0) RSpec-rails(2.8.1)

2 个答案:

答案 0 :(得分:4)

我意识到我的spec_helper.rb文件中有一行,包括我的集成测试文件夹中的所有文件,因此它们实际上被加载了两次。我删除了那一行,它解决了我的问题。

答案 1 :(得分:1)

您是否从之前版本的rspec升级?如果是这样(并检查即使你没有),你可能有一个多余的lib/tasks/rspec.rake脚本。如果这样做,请删除该文件并重新运行测试。然后你应该看到他们只执行一次。