Klávesové zkratky na tomto webu - rozšířené Na obsah stránky

Testování routingu v ASP.NET

10.09 - 8. ledna 2009 | Webdesign

Nejspíš poslední zastávka u routingu v ASP.NET bude o tom, jak jednoduše testovat pravidla v routovací tabulce.

Pokud váš projekt doroste do rozměrů, kdy máte spoustu routovacích pravidel a pomalu se v nich začínáte ztrácet, nebo se vybírá jiné pravidlo než byste si představovali, nebo jen chcete zjistit, jak to vlastně funguje, hodil by se nástroj, kterým by se to dalo snadno zvládnout. A takový existuje! Pojďme se na něj podívat.

Routing debugger

Ten nástroj se jmenuje ASP.NET Routing Debugger a jeho autorem je samotný Phil Haack product manager ASP.NET MVC, Routingu a integrace DLR do ASP.NET.

Jeho užití je poměrně velice jednoduché. Nejprve je nutné si debbuger stáhnout, rozbalit a přidat do projektu referenci na rozbalenou knihovnu. Pak už jen stačí do Global.asax přidat následující řádek (za registraci routovacích pravidel):

protected void Application_Start() {
  RegisterRoutes(RouteTable.Routes);
  RouteDebug.RouteDebugger.RewriteRoutesForTesting(RouteTable.Routes);
}

Odteď bude všechny požadavky požírat debbuger routingu. Když si projekt spustíme, uvidíme pěknou tabulku, kde jsou vypsaná jednotlivá pravidla, včetně příznaku, která jsou zrovna vhodná pro aktuální URL. Ano, vhodných pravidel může být povícero, ale vždy se vybere jen ta, která je první v pořadí. Dále pak jsou vidět hodnoty, které jsou z aktuální adresy získány, přednastavené výchozí hodnoty a zpřesňující pravidla.

Snad se bude hodit :)

Komentáře RSS

  1.  

    Borek

    11.45 - 8. ledna 2009 | #

    Routy jde především testovat pomocí unit testů – možná jsi o tom psal někdy minule, ale za zmínku to určitě stojí.

  2.  

    Aleš Roubíček

    13.53 - 8. ledna 2009 | #

    Původně jsem to chtěl napsat. ale pak jsem si vzpoměl, že nemám ani jeden unit test na routing :) Vyhodou RouteDebuggeru je, že vidíš, co se děje.

  3.  

    Borek

    14.28 - 8. ledna 2009 | #

    U mě byl zas test na správnost routy jedním z prvních unit testů. Ale jinak souhlas, grafická podoba Philova debuggeru má své dobré využití.

  4.  

    Petr Stříbný

    15.08 - 8. ledna 2009 | #

    Já osobně považuju testování routingu pomocí unit testů za dost užitečnou věc, zejména pokud člověk testuje i generování odchozích URL.

  5.  

    Aleš Roubíček

    15.22 - 8. ledna 2009 | #

    Unit testy jsou v pořádku, ale pokud ještě není schema URL stabilizovane a provádíte hodně změn, tak je to pak opruz je přepisovat. Pokud už jseš po fázi prototypování a máš tu možnost adresy zafixovat, pak je jistě dobré testy napsat.

    Takové testy bych ale nenazýval testy jednotkovými, ale spíš integračními…

  6.  

    David Grudl

    17.36 - 8. ledna 2009 | #

    Díky za inspiraci, hned to běžím napsat do Nette!

  7.  

    Aleš Roubíček

    21.06 - 8. ledna 2009 | #

    [6] David Grudl: Rádo se stalo ;)

Místo pro tvůj názor

Povinné je jméno a komentář, z e-mailu se rozpoznají Gravatary.
Komentář je formátován pomocí Texy! syntaxu.
Například: **tučný text**, *kurzíva*, "text odkazu":adresa.
Internetové adresy jsou převáděny na odkazy.
Na komentáře se můžete odkazovat pomocí [číslo komentáře].

Nový komentář