Кроме того, вы можете обернуть Service интерфейсом и не беспокоиться об аргументах конструктора.Если конструктор когда-либо изменится - ваши тесты будут привязаны к этим деталям реализации и должны быть обновлены.
var mock = MockRepository.GenerateMock<IService>();
Редактировать: по крайней мере изолировать создание этого макета, так что если ваш конструктор в Service изменяетсяне придется обновлять в каждом месте.Обычная практика такова:
(в вашем тестовом классе)
private ObjectWithServiceDependency CreateObjectUnderTest(){
//Here you would inject your Service dependency with the above answer from Darin
//i.e.
var mockService= MockRepository.GenerateMock<Service>(new object[] {new Command[0] });
var objectUnderTest = new ObjectWithServiceDependency(mockService);
return objectUnderTest;
}
Затем в тесте
[Test]
public TestSomething(){
var out = CreateObjectUnderTest();
//do testing
mockService.Expect(...);
}