如何设置此Stub对象的返回值?

时间:2011-10-07 07:14:04

标签: c# .net unit-testing rhino-mocks arrange-act-assert

public interface IMyINterface
{
    int GetMeSomeInteger();
    Toy GetMeAToy(string toyName);
}


[TestMethod]
public void PlayWithANumber_RecievesInteger_DoRightJob()
{

    IMyINterface stub = MockRepository.GenerateStub<IMyINterface>();

    // HOW CAN I? :
    // Instruct GetMeSomeIngeter() method in stub to return 5

    // HOW CAN I? :
    // Instruct GetMeAToy(string toyName) method in stub to return
      //new Toy() {ToyName = "Gizmo", Code = "0989"}

      var five = stub.GetMeSomeInteger();
      var gizmo = GetMeAToy("Gizmo");
      Assert.IsTrue(DoSomething(five, gizmo) == 100 );    
}

1 个答案:

答案 0 :(得分:4)

情景1:

var myInterface = MockRepository.GenerateStub<IMyINterface>();
myInterface.Stub(x => x.GetMeSomeIngeter()).Return(5);

情景2:

var myInterface = MockRepository.GenerateStub<IMyINterface>();
myInterface.Stub(x => x.GetMeAToy("Gizmo")).Return(new Toy() {ToyName = "Gizmo", Code = "0989"});