Как добавить объекты к списку в Насмешках Носорога

У меня есть метод (который является частью IMyInteface) как это:

interface IMyInterface
{
  void MyMethod(IList<Foo> list);
}

У меня есть ClassUnderTest:

class ClassUnderTest  
{  
  IMyInterface Bar {get; set;}

  bool AMethod()  
  {
    var list = new List<Foo>();
    Bar.MyMethod(list);

    return list.Count()>0;
}

Мой Тест с Насмешками Носорога похож на это:

var mocks = new MockRepository();  
var myMock = mocks.StrictMock<IMyInterface>();  
var myList = new List<Foo>();
var cUT = new ClassUnderTest();
cUT.Bar = myMock;

myMock.MyMethod(myList);  
//How can I add some items to myList in the mock?   
mocks.Replay(myMock);
var result = cUt.AMethod();

Assert.AreEqual(True, result);

Как я могу теперь добавить некоторые объекты к myList в насмешке?

1
задан WaltiD 26 May 2010 в 08:39
поделиться

1 ответ

Попробуйте так:

myMock.Stub(methodInv => methodInv.MyMethod(new List<Foo>()).IgnoreArguments()
    .WhenCalled(invocation => (invocation.Arguments[0] as IList<foo>).Add(new Foo());

Итак, первая лямбда-функция включает метод; вторая определяет, что происходит в методе.

Я еще не тестировал это, так что дайте мне знать, если это неправильно!

2
ответ дан 3 September 2019 в 00:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: