0
我正在使用構造函數注入模式插入我的模擬與moq。設置一個Moq對象問題
所以我有這樣的事情在我NUnit測試
property UserMock
property IService // interface
public void PreSetup()
{
UserMock = new UserMock;
ITaskService = new Service(UserMock.object);
}
現在我有這樣
public void TestSomething()
{
UserMock.Setup(u => u.SomeMethod(It.IsAny<string>()));
}
一個單元測試方法,現在,我想我會永遠過之後,才能做到這一點。
public void TestSomething()
{
UserMock.Setup(u => u.SomeMethod(It.IsAny<string>()));
ITaskService.User = UserMock.Object
}
看來我不必這樣做。就像我的想法是對象被傳遞給構造函數,其中的任何東西都被設置到TaskServiceClass中的「User」屬性中。
所以,如果我來在稍後添加的東西會不會被置除非我重置對象的方法。
這似乎並不如此。那麼我不瞭解什麼?
感謝
啊之類的有意義完全忘了當你對象的引用被製成,可以有指向它不同的對象有關。 – chobo2 2009-09-06 05:07:23
我從來沒有真正使用過這種方式的嘲笑,所以我沒有花一分鐘時間思考它。通常情況下,我會在每種測試方法中創建一個全新的模擬和服務,但這是出於習慣,並且需要在每個測試的基礎上靈活。 – 2009-09-06 05:10:17