簡體   English   中英

rails 3.1rc5 中的測試套件問題

[英]Test suite problems in rails 3.1rc5

我最近將我正在開發的應用程序升級到 rails 3.1rc5 ..

在大多數情況下,它很棒,但我的一些測試遇到了非常奇怪的問題..

例如,在我的 cucumber 規格之一中,我使用工廠女孩創建了一堆假記錄。通常這工作正常,但似乎由於某種原因它沒有創建記錄。

所以我注釋掉了我所有的工廠東西並用這個替換它:

c = Contact.new(:first_name => "SOMEONE", :last_name => "COOL", :dob => 10.years.ago, :sex => "male")
if c.save
  puts "MYCOUNT: #{Contact.count}"
else
  puts "EXPLOSIONS!!!"
end

作為 cucumber 套件的一部分運行它會輸出:

MYCOUNT: 0

所以聯系人記錄顯然被保存(並通過驗證)但是當我打電話給計數時它仍然沒有出現?

為什么??

我在用:

導軌 3.1rc5

rspec-rails

黃瓜欄桿

factory_girl_rails

我還應該注意我正在使用 sunspot (solr API) https://github.com/outoftime/sunspot索引我的模型

聽起來您在測試中觸發了事務回滾:

1) 交易開啟

2) Contact.save 成功(現在有合法的聯系人實例和數據庫記錄)

3) 出現問題,引發 ActiveRecord::Rollback

4) 事務回滾,留下合法的聯系人實例但沒有數據庫記錄,計數 = 0

我不知道什么會導致這與您的 Rails 升級有關,但也許這會幫助您找到失敗的原因。

編輯:

如果您跟蹤您的 log/test.log 文件,您應該會看到在這種情況下發生回滾。 您可以查看之前的 DB 活動,以了解在它之前最后一次成功的 db 操作是什么。

不是一門精確的科學,但可以幫助您確定是否是這種情況,並大致了解它的橫向發展。

暫無
暫無

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

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