0

Rspec で Spork を使用しており、Spork を実行するとテストは成功しますが、spork を起動せずに次のようにテストを実行すると、次のようになります。

bundle exec rspec spec

いくつかの失敗が発生しますが、それらはすべて次のような should.have 構文を使用したものです。

inactive_user.received_messages.should have(1).message

1) Message introduction messages to active users should be created as messages to both users
 Failure/Error: initiator.sent_messages.should have(1).message
   expected 1 message, got 6

この数について興味深いのは、それがデータベースの合計に含まれるメッセージの数であるということです。

initiator.sent_messages.should have(1) == Message.count

Spork がない場合、次のようにテストを変更すると:

inactive_user.received_messages.count.should == 1

すべて正常に動作します。そのため、マッチング メソッドが間違ったカウントを調べているようです。これはなぜでしょうか?

4

1 に答える 1

0

私も同じ問題を抱えてる。私はshoulda gemを使用して関係をテストしています。多くの WeeklyStatistics を持つ Instance クラスがあり、初めて実行します:

should have_many(:weekly_statistics)

spork を使用すると、テストは赤で、前のキー instance_id を毎週の統計に設定する必要があることを示していましたが、それを行った後でも、テストは同じエラーで失敗しました - 関連付けがありません。それから私はスポークを止めました、そしてテストは緑色でした.

于 2012-05-08T20:37:21.293 に答える