2016-05-18 4 views
2

この質問はRhinoでモックとスタブ間の概念の違いを明確に:これらは全く何もしないように見えるとき、Rhinoのスタブオブジェクトは、このような.Expect.VerifyAllExpectations()ような方法を提供し、なぜ私は混乱して残っていますがWhat are the differences between mocks and stubs on Rhino Mocks?Rhino Stubsを使用すると、私はそれらに期待値を設定できますか?

。モック/スタブオブジェクトが一見同じインターフェースを提供するのはなぜですか?

これは私が何か基本的なものを見逃してしまったと思っています - それとも単なる実装の奇抜なのでしょうか?

答えて

2

私がhereを説明したように、この動作の理由はIntelliSenseの制限(拡張メソッドの場合)+ Rhinomocksのデザイン(+アサートのバグ)に基づいています。

次の例は、Expectメソッドがスタブ上にStubメソッドしかないことを示しています。

public class Foo 
{ 
    public virtual string DoSomthing() 
    { 
     return String.Empty; 
    } 
} 

[TestClass] 
public class UnitTest1 
{ 
    [TestMethod] 
    public void TestMethod1() 
    { 

     var f = MockRepository.GenerateStub<Foo>(); 

     f.Expect(x => x.DoSomthing()) 
     .Return("2"); 

     f.VerifyAllExpectations(); 

    } 
} 

あなたは、テストが失敗しないことがわかります上記の例(DoSomthingが呼び出されることはありませんでしたが...)

を実行します場合は
関連する問題