0

我是RSPEC的新手,正在測試控制器。 有時候碰巧測試單獨逝者如斯一起跑步但單獨通過時測試失敗

rspec spec/controllers/controller_name_spec.rb 

它傳遞但是當我運行: - 是較早通過

rspec spec 

測試失敗,同樣的測試。

可能是什麼原因,它與rspec的可伸縮性或特定於應用程序的問題有關。 正如我發現與集成測試相同的問題。 滑軌-v => 3.2.11 紅寶石-v => 1.9.2p320 Rspec的護欄版本=> 2.13.0 rspec的版本=> 2.13.0

例如: -

測試用例: -

it "should do ##something##" do 
    plans=Plan.pluck(:id) 
    plans.delete(@user.subscription.plan.id) 
    @user.subscription.stripe_customer_token= "cus_1l9m6CicQEXZJ0" 
    @user.save 
    get 'apply_change_account', {:subscription=>{:plan_id=>plans.sample}} 
    flash.now[:success].should_not be_nil 
    response.should redirect_to dashboard_manage_accounts_path 
end 

響應錯誤消息: -

1) DashboardController Dashboard should do ##something## 
    Failure/Error: flash.now[:success].should_not be_nil 
     expected: not nil 
      got: nil 
    # ./spec/controllers/dashboard_controller_spec.rb:119:in `block (2 levels) in <top (required)>' 

預先感謝

+0

請測試代碼和失敗消息。 – 2013-05-03 08:58:16

+0

@BillyChan編輯並添加了測試用例和響應。 – 2013-05-03 09:07:40

+0

我能想到的唯一原因是數據庫在測試過程中沒有被清除。也許你可以檢查是否屬實,然後安裝database_cleaner gem。 – 2013-05-03 09:16:00

回答

1

嘗試在塊前添加flash.clear以進行與閃存相關的每個測試。

這可能會也可能不會解決問題,但重要的是要測試閃光燈相關項目以避免閃光燈物體被污染。

相關問題