2009-06-26 4 views
0

私はNBehaveを使用して私の記事を書き出し、Rhino Mockを使ってテスト中のシステムの依存関係を模倣しています。NBehaveで複数のシナリオでMockを使用する

しかし、あるシナリオから次のシナリオに移動するときに、モックの依存関係に予想される動作がリセットされる問題があります。 Rhinoのモックは、それは期待しているため

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

しかし、これは、各シナリオに呼び出されていると私の2番目のシナリオで失敗:

は、私は私のリポジトリに保存する方法は2つのシナリオで呼び出されたことを主張したいですただ一度と呼ばれる。私は明白な外出を使用するよう強制されたくありませんが、私はあまりにも持っているように見えます。

Rhino MockでNBehaveのいくつかの例がありますが、複数のシナリオがあるものはありません。 NBehaveと複数のシナリオではいくつかありますが、モックはありません。

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

乾杯

+0

私はあなたのシナリオを完全に理解していません。 AssertWasCalledを呼び出すと、メソッドが呼び出されなかった場合にスローされます。それがこの方法の目的です。あなたがそれを望んでいなければ、それを呼び出すことはできませんでしたか?たぶん、いくつかの期待は違反されているかもしれませんが、あなたの例から、あなたのdependancyRepository変数がどのように作成され、設定されているか分かりません。おそらくあなたもそのコードを共有することができますか? –

答えて

0

あなただけのためにそれを設定し、各シナリオのためにその期待を設定しない、.SAVE(...)は、各シナリオで呼び出されたことを主張したくたくない場合それが呼び出されると予想されるシナリオです。

これで問題が解決しない場合は、詳細を明記してください。あなたがしようとしていることは不明です。

0

関連するシナリオのThen節でAssertWasCalled呼び出しを行います。

関連する問題