0

MochaとRails3.1.0を使用したRailsテストからの非常に奇妙な出力が表示されます。

not all expectations were satisfied
  unsatisfied expectations:
    - expected exactly once, not yet invoked: #<GitAccess:0xbb5c344>.branches(any_parameters)
  satisfied expectations:
    - allowed any number of times, invoked once: #<GitAccess:0xbb5c344>.branches(any_parameters)

私の「ブランチ」メソッドは一度も呼び出されなかったが、同じオブジェクトに対して一度呼び出されたと書かれています。これはどのように可能ですか?私のコントローラーは次のようになります。

def create
  git_access.branches()
end

私はこれがどのように可能であるかを完全に理解していません。

4

1 に答える 1

1

さて、ここに答えがあります。どういうわけか、.expectsは関数が呼び出されたかどうかをチェックするだけだと思いました。したがって、私のテストでは、同じ関数呼び出しに.expectsと.stubsがあり、mochaが私の.stubsを無視するようになりました。

オンラインで多数のチュートリアルを読むことにより、メソッドの応答を偽造する場合は.stubsを使用し、メソッドの応答を偽造する場合は.expectsを使用し、メソッドが呼び出されるかどうかをテストする必要があります。

于 2012-08-20T18:49:36.853 に答える