объекты moq Возвращает метод, должен возвращать нулевой объект

Я разрабатываю веб-API, и один из тестов Я пришел к выводу, что если клиент выполняет операцию GET с идентификатором физического теста (физический тест - это ресурс, который я ищу), и этот физический тест не найден, веб-API должен возвращать статус 404.

Теперь я использую платформу moq для своих тестов, и у меня есть следующий код:

[TestMethod]
public void then_if_physical_test_not_found_return_not_found_status()
{
    var unitOfWork = new Mock<IUnitOfWork>();
    var repository = new Mock<IRepository<PhysicalTest>>();
    repository.Setup(r => r.FindById(It.IsAny<int>())).Returns();
    unitOfWork.Setup(m => m.PhysicalTests).Returns(repository.Object);
    var pt = new PhysicalTestResource(unitOfWork.Object);
    HttpResponseMessage<PhysicalTest> response = pt.GetPhysicalTest(43);
    Assert.AreEqual(HttpStatusCode.NotFound, response.StatusCode)
}

Мне нужен метод Returns () для возврата нулевого объекта, который будет возвращать реальный метод API, если ресурс не найден.

Я попытался отправить null в качестве параметра в методе Returns (), но безуспешно.

64
задан Yuval Itzchakov 22 November 2014 в 14:48
поделиться