내 단위 테스트에서 뷰 이름이없는 View()를 사용하여 컨트롤러 작업에서 돌아 오면 ViewResult.ViewName이 string.Empty로 설정된다는 것을 알았습니다. 이 값을 설정하려면 View() 호출에 대한 매개 변수로 지정해야합니다. 이 사람이 통과 할 동안왜 뷰 이름을 지정하지 않으면 단위 테스트가 실패합니까?
public class MyController : Controller
{
public ActionResult MyAction()
{
return View();
}
}
:
public class MyController : Controller
{
public ActionResult MyAction()
{
return View("MyAction");
}
}
나 '
이[TextFixture]
public class MyControllerTests
{
[Test]
public void TestMyAction()
{
var controller = new MyController();
var result = controller.MyAction();
Assert.AreEqual("MyAction", result.ViewName);
}
}
다음 동작 구현이 단위 테스트가 실패합니다 : 예를 들어, 다음 단위 테스트를 부여 NET 4.0에서 ASP.NET MVC 2 (pre-beta)를 사용하고 있습니다. 그러나 .NET 4.0과 관련된 것은 사용하지 않습니다. ViewName이 단위 테스트의 어설 션에서 확인할 수있는 신뢰할 수있는 속성 중 하나라고 생각했기 때문에이 동작이 이상하다고 생각합니다.
알 수 있습니다. 적절한 주장에 대해 추천 된 기사/게시물/무엇이 있나? – alastairs
하나가 아닙니다. "asp.net mvc unit testing"과 같은 것으로 google하면이 문제를 다루는 수백 개의 기사/블로그 게시물을 얻을 수 있습니다. 정확히 테스트 할 대상에 따라 다릅니다. –