Próbuję utworzyć test jednostki do uruchomienia z kontrolerami, które są zawarte w projekcie szablonu .NET dla MVC 5 w Visual Studio 2013 przy użyciu Framework 4.5.1.Utwórz test jednostki dla kontrolera MVC 5 z Owinem
To miało na celu przetestowanie klasy ManageController zawartej w projekcie dla standardowego logowania użytkownika.
Oto kod używam wywołać akcję index kontrolera (należy pamiętać, że „Index” działanie jest domyślny):
[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);
}
}
}
Test nie powiedzie, ale odpowiedź jest 404. A jeśli próbuję debugować, proces nie wydaje się uderzać w metodę Index w kontrolerze lub zdarzenie konstruktora kontrolera.
Dodałem pakiet "Microsoft.Owin.Testing" przez NuGet. Metoda konfiguracji w klasie uruchamiania aplikacji jest wywoływana poprawnie.
Czego mi brakuje? Nie mogłem znaleźć wyraźnego przykładu w Internecie, aby wdrożyć ten test. Czy ktoś może umieścić tutaj krok po kroku, jak przetestować ten kontroler?
Dzięki
Nie podążam za tym przykładem, gdzie "appBuilder" (async..' idź? Który konstruktor? –
Hi @MattKocaj, w konfiguracji testowej utwórz instancję serwera testowego '' 'Instance = TestServer. Utwórz(); '' 'i StartupBdd, będziesz potrzebować' '' public void Configuration (IAppBuilder app) '' ', której można użyć do skonfigurowania aplikacji. [Msdn doc] (https://msdn.microsoft .com/en-us/library/microsoft.owin.testing.testserver.create (v = vs.113) .aspx) –