Tips för smidigare testdriven utveckling med Visual Studio

Lite nu och då möts jag av åsikten att det inbyggda stödet för enhetstestning i Visual Studio inte lämpar sig för testdriven utveckling (TDD).

När jag då frågar varför, så är påståendena bland andra:

  • Svårt att hitta, och därmed exekvera, aktuellt test i den långa listan över tillgängliga tester.
  • Det sparas en jäkla massa testresultat på disk, vilka tar mycket utrymme.
  • Jag måste leta efter knappar i menyerna för att debugga aktuellt test.
  • När jag skapar ett nytt Testprojekt så skapas massa onödiga filer. (Howto.. , Exempel på Manuellt test etc)
  • Om jag dubbelklickar på ett misslyckat test i testresultatlistan så visas inte var felet inträffade genom att visa detta i koden, utan jag får istället upp någon form av sammanfattning.

Med vetskapen om de kortkommandon som Visual Studio tillhandahåller för testexekvering tillsammans med några små justeringar bland inställningarna rörande test tycker jag att man får en trevligare TDD upplevelse med Visual Studio.

För att adressera ovan upplevda hinder så kan jag rekommendera följande åtgärder.

Kortkommandon

Visual Studio tillhandahåller en rad kortkommandon för testexekvering. Se till att lära dig dem, för att slippa leta kommandon i menyer. Justera eventuellt mappningar så de passar din smak. Jag tycker själv inte riktigt om Visual Studios "dubbelkommandon" utan har t ex mappat om "Run all tests in current context" (Det kommando som exekverar det test som markören befinner sig i. Eller alla tester i klassen) till Ctrl-Shift-R.

Stephen Walther listar följande kortkommandon:

  • Ctrl-R, A – Run all tests in solution
  • Ctrl-R, T – Run all tests in current context
  • Ctrl-R, N – Run all tests in current namespace
  • Ctrl-R, C – Run all tests in current class
  • Ctrl-R, Ctrl-A – Debug all tests in solution
  • Ctrl-R, Ctrl-T – Debug all tests in current context
  • Ctrl-R, Ctrl-N – Debug all tests in current namespace
  • Ctrl-R, Ctrl-C – Debug all tests in current class

image 

Bild: Ställ markören i aktuellt test och avfyra med CTRL-R,T

Inställningar

Öppna inställningar för testverktyg: Tools -> Options… -> Test Tools.

På sidan Test Execution sätt Limit number of old Test Results to: till 1 (eller något annat värde som du önskar) för att minimera antalet testruns som sparas på disk. Klicka även i alternativet Double-clicking a Failed or Inconclusive unit test result displays the point of failure in the test. Du får du upp platsen i koden där testet fallerade istället för testresultatbeskrivningen när du dubbelklickar på ett fallerat test.

image

På sidan Test Project kan du ange vilka filer som skall skapas när du skapar ett nytt testprojekt. Jag har bockat ur alla alternativ, vilket gör att jag får ett helt tomt testprojekt när jag väljer att skapa ett nytt sådant.

image

Smidigt värre!

Komplettera gärna med dina tips.

-c