我對如何正確地模擬一個對象有點困惑。從我在NSubstitute的例子中看到的,這是assert的基本設置。我的理解是關於測試方法的行爲。我的問題如下:與NSubstitute嘲笑,需要一些清晰。
這是模擬獲取設備主機名的正確方法。
[TestMethod] public void MockedDeviceHostName() { //Arrange var device = Substitute.For<IDeviceLogic>(); Device mockedDevice = new Device(); //Act device.GetHostName("IP Address","Object Identifier Repository","CommunityString").Returns(mockedDevice.hostName); //Assert Assert.AreEqual(mockedDevice.hostName, device.GetHostName("IP Address", "Object Identifier Repository", "CommunityString")); }
嘲笑的優點是什麼。我當然明白這是基於行爲的測試,我的意思是,我設定了行爲期望值,所以我覺得即使在這種情況下方法有錯誤,他們也總是正確的。我正在尋找一些關於嘲笑與單元測試和集成測試的清晰度。
謝謝:)這真的有助於:) – Mdukes00