2011-11-18 47 views
25

我跟着spork railscast video和它给了我下面的错误,当我尝试运行后卫:与保护,叉勺,Rspec的与Rails 3的问题

Guard is now watching at '/Users/m/work/' 
Starting Spork for Test::Unit & RSpec 
Couldn't find a supported test framework that begins with 'testunit' 

Supported test frameworks: 
() Cucumber 
(*) RSpec 

Legend: () - not detected in project (*) - detected 
Using RSpec 
Preloading Rails environment 
Loading Spork.prefork block... 
Spork is ready and listening on 8989! 
--> ERROR: Could not start Spork server for Test::Unit & RSpec. Make sure you can use it manually first. 
Guard::RSpec is running, with RSpec 2! 
Running all specs 

它看起来像叉勺服务器启动了罚款和然后错误并尝试继续。我尝试了:等待选项120秒,它仍然有同样的问题。如果我执行测试无保护&护叉勺

叉勺正常工作

环境:

  • 的Mac OSX
  • 轨(3.1.1)
  • 后卫(0.8.8)
  • guard-rspec(0.5.4)
  • spork(0.9.0.rc9)
  • guard-spork(0.3.1)

我该如何去调试这个问题?我不知道从哪里开始。

+1

您是否将/ test文件夹保存在您的应用程序中? – apneadiving

+0

@apneadiving Yip我有一个/测试文件夹。我试着设置一个新的rails项目,只有测试和一个简单的测试(1 == 1)的基本宝石,它仍然给出了相同的错误。 – Mike

+3

我将如何从警卫获得堆栈跟踪?可能有用。 – Mike

回答

76

我在Ubuntu上遇到过这个问题。我的解决办法很简单:

1)我停下后卫

2)我删除test文件夹

3)启动后卫

这一次,而不是看到起叉勺测试::单位& RSpec,我得到RSpec开始Spork。所以spork自动识别出我的测试文件夹不再需要,一切都运行得很好。

有趣的是在

Supported test frameworks: 
() Cucumber 
(*) RSpec 

消息也消失了,我得到了准确的预期结果为每railscast。

唯一的结论,我能想出是:

1)这不是一个操作系统相关的问题。

2)spork,rspec和测试单元在Rails> v3.x应用程序上打不开,这很有意义。你不需要两个。更新 - 请参阅下面更新的答案,如果你想要两个。

显然我非常密切地遵循了Railscast指令,但我认真地建议您查看删除测试文件夹。

UPDATE 应当指出的是,它可以同时获得很好地一起玩按照下面从@yuvilio的评论,报价,其中如下:

我不认为问题是他们不相处。我得到了Cucumber/Rspec/testunit在spork中与对方玩好。在我的gem文件中,除了rspec/cucumber/guard相关的gem外,我还添加了spork-testunit,guard-test,ruby-prof gems和ran bundle install。然后,我引导testunit:bundle exec spork testunit --bootstrap.Then自定义test/test_helper.rb。然后更新guard文件来监视testunit:bundle exec guard init test。当我跑卫,我得到的输出包括RSpec的,黄瓜,测试::单位成功启动

+1

完美!谢谢:-) – Mike

+0

我认为这里的另一个罪魁祸首可能是growl_notify,咆哮似乎更好。 – Mike

+1

为我工作 - 谢谢 –

17

如果你不想删除test文件夹,你可以简单地告诉警卫忽略它叉勺服务器:

guard 'spork', test_unit: false do 
    # ... 
end