안녕 나는 MOQ 프레임 워크에 대해 배우려고 노력하고 있어요에 메시지를 반환하지 않습니다하지만 난 간단한 concept.Here 내가 테스트입니다 코드를 이해하지 못하는 것 같다 :MOQ는 NUnit과 콘솔
public interface ILongRunningLibrary {
string RunForALongTime(int interval);
}
public class LongRunningLibrary : ILongRunningLibrary {
public string RunForALongTime(int interval) {
var timeToWait = interval * 1000;
Thread.Sleep(timeToWait);
return string.Format("Waited {0} seconds ", interval);
}
}
그리고 여기에 있습니다 내 테스트 : 나는 독서하고 책을 이해 것과
private Mock<ILongRunningLibrary> _longRunningLibrary;
[SetUp]
public void SetupForTest() {
_longRunningLibrary = new Mock<ILongRunningLibrary>();
}
[Test]
public void TestLongRunningLibrary() {
const int interval = 30;
_longRunningLibrary.Setup(lrl => lrl.RunForALongTime(30))
.Returns("This method has been mocked!");
var result = _longRunningLibrary.Object.RunForALongTime(interval);
Debug.WriteLine("Return from method was '{0}'", result);
}
이 방법은 NUnit과 콘솔에 반환해야한다는 것입니다 내 경우에는 시험 패스를 나누었다을 "이 방법은 조롱하고있다"그것은 아무 것도 반환하지 않습니다.
나는 제거하더라도 :
는_longRunningLibrary.Setup(lrl => lrl.RunForALongTime(30))
.Returns("This method has been mocked!");
테스트는 여전히 통과 콘솔 아무것도에 인쇄되어 있습니다.
"이 방법은 조롱되었습니다"NUnit 콘솔에 반환되지 않는 이유는 무엇입니까?
가능한 복제본 [TestDriven.Net을 사용하는 경우 Debug.WriteLine 문을 어떻게 봅니까?] (https://stackoverflow.com/questions/173641/how-do-i-see-debug-writeline-statements-when) -using-testdriven-net) – nemesv