今天,我遇到了一個與我的規格非常奇怪的問題。當我運行spec命令時沒有指定任何特定的目錄/文件,我的測試工作很好,全部是綠色的。但是,如果我要指定一個目錄或文件,rspec會拋出一些(隨機)錯誤,具體取決於我是否使用rspec和spring。更重要的是,昨天,就在我工作結束之前,一切都運轉良好。從那時起我沒有碰過任何東西,現在它因爲某種原因被打破了。這是怎麼一回事呢:無法運行單個規格文件
rspec spec/requests/api/v1/users_spec.rb
結果
uninitialized constant FactoryGirl
spring stop; spring rspec spec/requests/api/v1/users_spec.rb
結果
undefined local variable or method 'some_url_helper_here'
在運行spring rspec
或rspec
運行良好,沒有任何例外。我的規格文件看起來或多或少是這樣的:
# spec/requests/api/v1/users_spec.rb
require 'spec_helper'
describe 'Users API v1', :type => :request do
before do
@user = FactoryGirl.create(:user) # that line throws an exception about unitialized constant FactoryGirl
end
# ...
end
你知道這到底是怎麼回事嗎?預先感謝任何線索。
感謝您的解釋。但是它昨天在工作的事實呢?它發生在我以前幾次。它總是一樣的 - 我正在處理我的項目,停下來一會兒,當我回來時,它再次表現得如此。然後,一段時間後,一切都恢復正常。這是瘋了 – mbajur
@mbajur:你有任何代碼是自動加載所需的文件,使用目錄列表,例如'風向[ 「LIB/* RB。」]每個{|。文件|需要文件}'?這可以隨意加載歸檔文件系統的加載順序,這意味着根據上次文件夾內容更改發生的情況,系統會成功/失敗。 –
嗯,我沒有像我自己寫的東西,只是由raiils/rspec生成器默認的。 – mbajur