Привет Я пытаюсь узнать о рамках 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?
Возможный дубликат [Как просмотреть отчеты Debug.WriteLine при использовании TestDriven.Net ?] (http://stackoverflow.com/questions/173641/how-do-i-see-debug-writeline-statements-when -при-testdriven-нетто) – nemesv