2010-05-26 18 views
6

Czytałem o MVC, w którym autorzy sugerują, że testability jest jedną z głównych zalet MVC. Przechodzą do porównania z ASP.NET WebForms i jak trudno jest przetestować kod w WebForms.Testowanie jednostki Kod ASP.NET za

Rozumiem, że to trudne, ale czy ktoś może wyjaśnić, w jaki sposób testy jednostkowe zostały napisane w celu przetestowania kodu za logiką w dawnych czasach?

Odpowiedz

3

Kod tyłu są zwykłe metody w klasie (jedyna różnica z innej klasy jest to, że klasa ta dziedziczy z obiektu strony)

Tak jest sprawdzalne. większość problemów powstaje, ponieważ metody były ściśle powiązane z kontrolkami web.ui, takimi jak siatka; nie były tak łatwe do sfałszowania. Jeśli nie podrabiałeś elementów sterujących interfejsu użytkownika, testowałeś również wewnętrzne działanie kontrolek interfejsu użytkownika, które są nieco przesadzone.

5

W dawnych czasach testowałem webformy aspnetu za pomocą wzorca Model View Presenter. Udało mi się przetestować kod za pomocą tego wzorca, ponieważ wyodrębniłem warunkową logikę/pętle/etc w oddzielnej klasie, która nie istniała wewnątrz struktury webformu.

To, co pozostało w kodzie webform, nie było niczym więcej niż kilkoma właściwościami i wywołaniem w wczytaniu strony, aby zainicjować klasę prezentera.

Następnie każdy program obsługi zdarzeń po prostu przekazuje pracę do klasy prezentera.

Spędziłem dużo czasu z tym wzorem i okazało się, że to sprawia, że ​​rzeczy są bardziej przyjazne dla testów, ale jest to dużo pracy w porównaniu do aspneta mvc

Powiązane problemy