ASP.NET MVC
Základy a TDD
GMC Software Technology AG

Daniel Kolman | 2012-02-20
Pages vs. MVC
    PHP                Ruby on Rails

    ASP.NET WebPages   Nette

    ASP.NET WebForms   Spring MVC

    JSP                ASP.NET MVC




2
Pages




3
MVC

          Routing: {controller}/{action}/{id}
             http://.../blog/post/123
                                                Controller




                                                             Model




                                                  View
                        HTML



4
Ke strojům!




5
Separation of Concerns
    • Routing mapuje příchozí URL na Controller a
      Action


    • Controller shromáždí data a předá je View


    • View renderuje HTML


    • Model reprezentuje data
6
Testování




7
Typy testů
    • Unit testy testují jednotku kódu v naprosté izolaci
      – Jednoduché
      – Rychlé
      – Žádná konfigurace

    • Integrační testy testují fungování části aplikace v součinnosti s
      okolním prostředím
      – Např. s databází
      – Pomalé
      – Vyžadují instalaci a konfiguraci prostředí (SQL Server, web.config…)
      – Počet execution paths strmě stoupá, není možné otestovat

    • Další typy testů (akceptační, end-to-end, performance, UX…)



8
Unit testy


        Pokud je těžké napsat unit testy
                       =
        špatně navržená struktura kódu




9
Test-Driven Development (TDD)


                       Red




            Refactor         Green



10
Všechny odkazy, tuto prezentaci a (snad) video najdete na:
    http://bit.ly/mvckolman



  Díky za pozornost


    Daniel Kolman

    @kolman

    http://blog.kolman.cz            GMC Software Technology

    d.kolman@gmc.net                 www.gmchk.cz



© 2011 GMC Software AG

ASP.NET MVC a TDD

  • 1.
    ASP.NET MVC Základy aTDD GMC Software Technology AG Daniel Kolman | 2012-02-20
  • 2.
    Pages vs. MVC PHP Ruby on Rails ASP.NET WebPages Nette ASP.NET WebForms Spring MVC JSP ASP.NET MVC 2
  • 3.
  • 4.
    MVC Routing: {controller}/{action}/{id} http://.../blog/post/123 Controller Model View HTML 4
  • 5.
  • 6.
    Separation of Concerns • Routing mapuje příchozí URL na Controller a Action • Controller shromáždí data a předá je View • View renderuje HTML • Model reprezentuje data 6
  • 7.
  • 8.
    Typy testů • Unit testy testují jednotku kódu v naprosté izolaci – Jednoduché – Rychlé – Žádná konfigurace • Integrační testy testují fungování části aplikace v součinnosti s okolním prostředím – Např. s databází – Pomalé – Vyžadují instalaci a konfiguraci prostředí (SQL Server, web.config…) – Počet execution paths strmě stoupá, není možné otestovat • Další typy testů (akceptační, end-to-end, performance, UX…) 8
  • 9.
    Unit testy Pokud je těžké napsat unit testy = špatně navržená struktura kódu 9
  • 10.
    Test-Driven Development (TDD) Red Refactor Green 10
  • 11.
    Všechny odkazy, tutoprezentaci a (snad) video najdete na: http://bit.ly/mvckolman Díky za pozornost Daniel Kolman @kolman http://blog.kolman.cz GMC Software Technology d.kolman@gmc.net www.gmchk.cz © 2011 GMC Software AG