0

NBehave を使用してストーリーを書き、Rhino Mocks を使用してテスト対象のシステムの依存関係を模擬しています。

ただし、あるシナリオから次のシナリオに移行するときに、モックの依存関係で予想される動作をリセットする際に問題が発生しています。

リポジトリの save メソッドが次の 2 つのシナリオで呼び出されたと断言したいだけです。

dependancyRepository.AssertWasCalled( ear =>
    ear.Save(
        Arg<IDependancy>.Is.Equal(dependency)
    )
)

しかし、これは各シナリオで呼び出されており、2 番目のシナリオでは失敗します。これは、Rhino モックが 1 回だけ呼び出されることを想定しているためです。私は明示的な期待を使用することを余儀なくされたくはありませんが、私もそうするように見えます.

Rhino Mocks を使用した NBehave の例はいくつかありますが、複数のシナリオがある例はありません。また、NBehave と複数のシナリオを備えたものもいくつかありますが、モックはありません。

他の誰かがこの問題に遭遇しますか?

乾杯

4

2 に答える 2

0

関連するシナリオの Then 句で AssertWasCalled 呼び出しを行います。他のシナリオでは呼び出しません。

于 2009-09-24T20:55:10.450 に答える
0

.Save(...) が各シナリオで呼び出されたことをアサートしたくない場合は、シナリオごとにその期待を設定しないでください。呼び出されることが予想されるシナリオに対してのみ設定してください。

これで質問の答えが得られない場合は、質問をより詳細に説明してください。あなたが何をしようとしているのかは不明です。

于 2009-07-21T01:34:49.193 に答える