Czytałem o MVC, w którym autorzysugerują, że testowalność jest jedną z głównych zalet MVC. Porównują go z WebFormami ASP.NET i jak trudno jest przetestować kod w WebFormach.
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?
Odpowiedzi:
5 dla odpowiedzi № 1W dawnych czasach testowałem za pomocą formularzy internetowych aspnetwzór Model View Presenter. Byłem w stanie przetestować kod przy użyciu tego wzorca, ponieważ wyodrębniłem logikę warunkową / pętle / etc do osobnej klasy, która nie istniała wewnątrz frameworka webforms.
To, co pozostało w kodzie internetowym formularzy, to nic więcej niż kilka właściwości i wywołanie ładowania strony w celu zainicjowania samej klasy prezentera.
Następnie każdy moduł obsługi zdarzeń po prostu przekaże pracę klasie prezentującej.
Spędziłem dużo czasu z tym wzorcem i odkryłem, że sprawia, że wszystko jest bardziej przyjazne dla testów, ale jest to dużo pracy w porównaniu do aspnet mvc
3 dla odpowiedzi № 2
Kod za nimi to zwykłe metody w klasie (jedyną różnicą w stosunku do innej klasy jest to, że ta klasa dziedziczy z obiektu Page)
To jest testowalne. większość problemów powstaje, ponieważ metody były ściśle powiązane z kontrolkami web.ui, takimi jak grid; nie były tak łatwe do sfałszowania. Jeśli nie sfałszowałeś kontrolek interfejsu, testowałeś również wewnętrzne działanie kontrolek interfejsu, które jest nieco przesadzone.