Rozsáhlý Test Project zpomaluje editor kódu Visual Studia

V rozsáhlém projektu s desítkami metod unit testů se začne znatelně zpomalovat editor kódu. Je to způsobené tím, že Visual Studio 2008 se snaží automaticky aktualizovat seznam unit testů v okně Test List Editor. Detailnější popis od Microsftu najdete například zde Slow Performance in Visual Studio 2008 IDE after opening Test Project

Řešením je v nastavení Tools | Options pro Test Project zapnout volbu Disable background discovery of test methods

Stejně tak zde lze vypnout otravné vyvtáření souboru AuthoringTests.txt v každém novém Test Projectu odškrtnutím položky "About Test Projects" introduction file Wink

 

Drobnou nevýhodou pak ovšem je, že jakákoli změna se automaticky neprojeví v seznamu metod v okně Test List Editor. Aktualizaci je třeba provést ručne tlačítkem Refresh na toolbaru:

 

Klávesová zkratka na tuto Refresh operaci patrně neexistuje. Zkusil jsem použít Record Temporary Macro, výsledné makro vypadalo následovně. V Macros IDE jsem jej překopíroval do existujícího Module1 a pojmenoval TestListEditorRefresh:

[code:vb]

Option Strict Off
Option Explicit Off
Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports System.Diagnostics

Public Module Module1
    Sub TestListEditorRefresh()
        DTE.Commands.Raise("{B85579AA-8BE0-4C4F-A850-90902B317571}", 13100, Customin, Customout)
    End Sub
End Module

[/code]

A tomu již lze přiřadit klávesovou zkratku v Tools | Options

Komentáře (2) -

  • Koukám, že už jedeš v MS testech. Tak by možná nebylo od věci napsat nějaké výhody a nevýhody proti nunit a problémy přechodu na ms variantu. NUnit používám dlouhodobě s testdriven.net a maximální spokojenost, ale jestli jde trend tímto směrem, tak výhledově proč ne...
    • Jednoznačný vítěz není. MSTest (na úrovni edice Visual Studio Professional) má samozřejmě dobrou integraci s Visual Studiem a podporuje testy spouštěné v přesně daném pořadí. NUnit má zase bohatší možnosti třídy Assert, lepší podporu data-driven testů a hlavně nepotřebuje (na serveru) celou instalaci Visual Studia jen kvůli dávkovýmu spuštění unit testů třeba v rámci MSBuild buildu. Jinak je to velmi podobné.
Komentáře jsou uzavřeny