私は個々のrspecモデル仕様ファイルを実行するとすべての例が緑色になり、仕様/モデルフォルダ全体をテストするとすべての例が緑色になります。コントローラをテストすると、すべて緑色になります。スイート全体(rspec specを介して)をテストすると、失敗します。コントローラのテストをすべて削除すると、すべてが緑色になります。今私はこれが完全に自滅していると思っていますが、私はそれを理解できません。Rspecスイート全体のテストに失敗する
コントローラーテストで具体的な例を絞り込んだので、モデル仕様の例が失敗します。
例えば、 notes_controller_spec.rbにこの行は、それが
Failure/Error: @account.all_notes.should have(2).notes
ArgumentError:
comparison of Note with Note failed
./app/models/account.rb:293:in `sort'
ライン293はaccount_spec.rb /私のモデルでは、障害が発生し
Note.any_instance.stubs(:valid?).returns(false)
存在する場合、
(self.notes + self.transactions.map(&:notes).flatten).sort {|a,b| a.created_at <=> b.created_at }
私はこれらの顔の手のひらの瞬間の1つになると確信しているので、私と優しい!
'created_at'は、あなたのソート・ブロックは' 'Fixnum'に対するnil'を比較することになることを意味する、'ノートのいずれかのnil'かもしれ後
前
ブロックが 'nil'を返すようになり、あなたが見ている種類の' ArgumentError'でソートが崩壊します。この行が実行されると、すべてのインスタンスがデータベースに保存されていますか?それぞれの例の前にあなたのデータベースが空になっていない可能性はありますか? –
私も同様の問題があります。私はそれが修正されたと主張するものの、[このrspecの問題](https://github.com/rspec/rspec-mocks/issues/54)に関連している可能性があります。 –
申し訳ありませんが、誤って入力しました。詳細を入力してください: モデルの任意のインスタンスでメソッドをスタブしています - 特定のテストでテストしているモデルとは異なるモデルです。そのメソッドを必要とする別のテストを実行すると、そのメソッドは見つかりません。 1つのファイルでテストでスタブを取り出すと、もう1つのファイルが通過します。本当に迷惑です。 私はさまざまなバージョンのrspecをインストールしてみました。 –