Framework 4.5.1을 사용하여 Visual Studio 2013의 MVC 5 용 .NET 템플릿 프로젝트에 포함 된 컨트롤러로 실행되도록 단위 테스트를 만들려고합니다.Owin을 사용하여 MVC 5 컨트롤러의 단위 테스트 만들기
이것은 표준 사용자 로그인을 위해 프로젝트에 포함 된 ManageController 클래스를 테스트한다고 가정합니다. 여기
내가 (이하 "인덱스"조치가 기본입니다 기억) 컨트롤러의 색인 작업을 호출 사용하고있는 코드입니다 :[TestClass]
public class ManageControllerTests {
[TestMethod]
public async Task ManageController_Index_ShoudlPass() {
using (var server = TestServer.Create<Startup>()) {
var response = await server.HttpClient.GetAsync("/Manage");
Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
}
}
}
이 시험은 실패하지 않습니다하지만 응답은이다 404. 그리고 프로세스를 디버깅하려고하면 컨트롤러 또는 이벤트에서 컨트롤러 생성자의 Index 메서드를 누르는 것 같지 않습니다.
NuGet을 통해 "Microsoft.Owin.Testing"패키지를 추가했습니다. 그리고 응용 프로그램의 Startup 클래스에있는 Configuration 메서드가 제대로 호출되고 있습니다.
무엇이 누락 되었습니까? 웹에서 테스트를 구현하는 명확한 예를 찾을 수 없었습니다. 컨트롤러를 테스트하는 방법을 단계별로 설명해 줄 수 있습니까?
감사합니다.
나는 당신의 예제를 따르지 않고있다. 당신의 테스트 설정에서 테스트 서버 인스턴스'''Instance = TestServer를 생성하는''appBuilder.Use (async..'? which constructor? –
) @MattKocaj는 어디에 있는가?();'''과 StartupBdd를 만들려면 앱을 설정하는 데 사용할 수있는'''public void Configuration (IAppBuilder app)'''이 필요합니다. [msdn doc] (https://msdn.microsoft .com/en-us/library/microsoft.owin.testing.testserver.create (v = 117) .aspx) –