2015-11-02 6 views
9

Używam test Explorer w Visual Studio 2015 za pośrednictwem nunit VS Adapter uruchomić moje testy jednostkowe.Dlaczego testów NUnit czasy są powolne, gdy za pomocą 'Run All' w VS 2015 test Explorer?

Przy użyciu testu Explorer „Run All” dowodzić moje testy zakończą się i pokaż Pass/Fail w ciągu sekundy, ale całkowity czas pracy wynosi 34 sekund.

Test Explorer using 'Run All'

Po wybraniu wszystkich testach i przy użyciu „Uruchom wybrane testy” z prawego menu kontekstowego te same testy miały całkowity czas pracy 1 sekundę.

Test Explorer using 'Run Selected Tests'

ja nie znaleziono żadnych wskazówek, dlaczego to trwa tak znacznie dłużej używać „Run All”. wygląd

Odpowiedz

2

Miejmy przy oknie wyjściowym. Jeśli wezmę "Run all" okno wyjściowe wygląda tak

------ Discover testu rozpoczął ------
========== Discover Test końcowy: 92 stwierdzono (0: 00: 00,4993709) ==========
------ Run Test rozpoczął ------
========== działania testu wykończone: 92 run (0: 00: 04,157636) ==========

Gdybym zamiast wybrać wszystkie testy chcę przetestować okno wyjściowe wygląda tak

------ Run Test rozpoczął ------
========== Test Run zakończył: 92 run (0: 00: 03.7262618) ======== ==

Chodzi o to, że jeśli wziąć „Run all” badacz badania musi przejść przez cały kod i ponownie odnaleźć wszystkie klasy z atrybutem „TestClass” i wszystkie jego metody ozdobione „TestMethod” atrybut (odbywa się to za pomocą refleksji, która w niektórych przypadkach może być nieco "wolna"). Czemu? Aby badacz testów mógł znaleźć wszystkie nowe i istniejące metody testowe.

Po ręcznym wybraniu metod, które chcesz przetestować, eksplorator testów nie musi ponownie wyszukiwać wszystkich istniejących i nowych metod do testowania, dlatego jest szybszy.

To trochę odgadnąć, co oznacza "Całkowity czas pracy", nigdy nie korzystałem z NUnit, a te myśli miały na celu opublikowanie komentarza.