1

私はスイーパーを使用してモデルを監視し、snogmetricsでログを記録しています。

class UserSweeper < ActionController::Caching::Sweeper
  observe User

  def after_create(user)
    km.identify(user.email)
  end
end

snogmetricsが正しく機能するにはセッションが必要なため、オブザーバーではなくスイーパーを使用してこれを行っています。

ただし、テスト中、snogmetricsは完全に失敗します

NoMethodError: undefined method `identify' for nil:NilClass

ユニットテストでスイーパーを無効にするにはどうすればよいですか?ありがとう!

4

2 に答える 2

0

どこでkm定義されていますか?私が見たところ、user_sweeperで定義されていないため、使用している環境に関係なく失敗します。

于 2011-08-26T16:09:30.563 に答える
0

テスト中にオブザーバーをブロックするために、覗き見のない宝石を使用することができました。

注:これは、レーキタスクでも機能します。移行中にオブザーバーが呼び出されるという問題がありましたが、これで解決しました。

于 2011-08-28T22:57:55.203 に答える