Jestem w punkcie, w którym chciałbym rozpocząć pisanie testów jednostkowych dla mojej aplikacji MVC. Zdecydowałem już, jak przetestować sterownik i mogę bez problemu testować swoje podstawowe biblioteki biznesowe. Mam zamiar odblokować kilka przedmiotów:W jaki sposób mogę testować widoki jednostkowe i atrybuty autoryzacyjne mojej aplikacji mvc asp.net w nUnit?
Jak mogę sprawdzić moje zdanie? Oznacza to, że po zwróceniu przez kontroler poprawnego widoku (który został przetestowany przez jednostkę, wraz z testowaniem jednostki, aby sprawdzić, czy przekazuje prawidłowe dane). Czy istnieje sposób na sprawdzenie jednostki, czy widok wyświetla poprawne dane we właściwych polach w NUnit, czy też potrzebuję do tego innego narzędzia?
W jaki sposób mogę przetestować zabezpieczenie? Używam niestandardowego dostawcy członkostwa i dostawcy roli, który w sobie, jak sądzę, jest testowalny jak każdy inny komponent - po prostu zmieniłem dostawcę i sprawdziłem, czy każda z metod zwraca oczekiwane wyniki. Interesuje mnie to, w jaki sposób testuję jednostkę, aby każda z metod kontrolera otrzymywała poprawne informacje o zabezpieczeniach od moich dostawców [tj. testowanie jednostki, czy atrybut Authorize działa poprawnie]?
Dla kontrolerów i na dół używam nUnit - znam już testy jednostek na poziomie biblioteki, więc to nie jest problem. Przyznaję, że nigdy nie słyszałem o Slim czy StoryTeller, więc je sprawdzę. Sprawdzę jednak Selenium do testowania widoku. – BobTheBuilder
Selenium RC z pewnością wygląda interesująco. Nie przyszło mi do głowy, że testowanie jednostkowe zostanie wykonane w samej przeglądarce. Moim pierwotnym spostrzeżeniem było to, że testowanie jednostki działałoby w nUnit na wyjściu HTTP. – BobTheBuilder
Chcesz czystej separacji problemów, nawet podczas testów jednostkowych. Zazwyczaj nie zezwalam na testowanie mojej jednostki (Nunit, MsTest itp.), Dotknij bazy danych lub czegoś innego niż bieżący temat w teście. Fit, FitNesse, Slim i StoryTeller doskonale nadają się do testowania integracyjnego, ale nie powinny być używane do testów jednostkowych. Testowanie interfejsu użytkownika powinno być bardzo płytkie i powinno tylko sprawdzać, czy interfejs działa tak, jak powinien. W żadnym wypadku nie powinno się sprawdzać rzeczy pod maską (tj. Bazy danych, kontrolerów itp.) – Josh