簡體   English   中英

Rspec在完成我的測試運行后掛起

[英]Rspec hangs after it finishes running through my tests

有人看過這個問題嗎? 有時,當為我的Rails 3.2.14項目運行規范時,rspec似乎照常完成:

Finished in 1.27 seconds
6 examples, 2 failures

Failed examples:

rspec ./spec/models/my_spec.rb:123 # Hello world 1
rspec ./spec/models/my_spec.rb:234 # Hello world 2

但是它只是掛在那里而不會讓我繼續在該shell中工作。 我可以從另一個終端選項卡中終止-9的過程,或者只是啟動一個新的Shell並在那里再次運行測試,但這使測試驅動的開發變得非常痛苦。

重新啟動計算機后,問題消失了一段時間,但最終還是會再次發生。 掛起一次后,即使我在不​​同的項目中運行不同的測試,每次我運行rspec時,它都會一直掛起。 相同項目中的相同測試每次都能在同事的計算機上順利通過。

我不確定有什么信息可以幫助回答這個問題,所以請告訴我是否有必要添加到此帖子中。 我正在運行ruby 2.0.0p195和rails 3.2.14。 我有Mac OS 10.7.5。 我使用zsh和rbenv。

謝謝閱讀!

好的,在朋友的幫助下解決了。 只需從我的spec_helper中刪除SimpleCov。 不知道為什么SimpleCov會導致此問題,但是如果發現,我將在此處發布更新。

我遇到了同樣的問題,並通過將以下內容添加到我的spec_helper.rb中來解決了該問題:

SimpleCov.start do
  use_merging false
end

請注意,我在具有同步目錄的虛擬盒vm上運行。

這是我發現的有關其工作原理的解釋:

“當simplecov存在時,默認情況下它將嘗試將記錄的coverage與磁盤上的內容合並。為避免損壞,它使用鎖定文件來保護此合並。由於我的虛擬機共享fs實際上不符合posix,因此鎖定文件永遠不會獲得,並在這里永遠默默阻擋。

由於我不在乎合並覆蓋結果,因此對我來說,解決方案是使用use_merging標志簡單地禁用此行為。”

https://gist.github.com/k-yamada/3930916

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM