2013-12-18 14 views
6

Mam aplikację konsolową i dodałem do projektu rozwiązanie biblioteki klas, aby przetestować wszystkie moje testy jednostkowe.Nunit nie trafia w pułapkę w bibliotece klas projektów testowych (VS2012)

Wszystko działa dobrze, z wyjątkiem tego, że punkty przerwania nie zostaną trafione, gdy przeprowadzę testy.

Jeśli uruchomię całą aplikację, punkty przerwania w aplikacji konsolowej zostaną trafione.

Jeśli uruchomię testy, punkty przerwania w klasach testowych i aplikacji konsoli zostaną całkowicie zignorowane.

Widziałem inny wpis z informacją, aby przejść do debugowania> uruchom nową instancję, ale ponieważ jest to biblioteka klasy, nie mogę tego zrobić. Czy powinienem mieć klasy testowe w innym typie projektu?

Używam Nunit, VS2012 i NUnit biegaczy.

Mam kilka testów, które zawiodły i nie mogę zrozumieć, dlaczego, naprawdę muszę być w stanie przejść przez kod.

Każda pomoc jest bardzo doceniana.

Odpowiedz

15

Zamiast uruchamiać swoje testy, próby debugowania testy

enter image description here

+0

Dziękujemy! Właśnie sprawiłeś, że mój dzień był o wiele łatwiejszy :) – Guerrilla

+0

hhahaa, jesteś mile widziany kolego – Leo

1

Mój kod Test został opracowany w .NET 4.5 i używał Nunit2.6.1.

Punkty przerwania nie zostały trafione, gdy tylko wykonałem opcję debugowania projektu testowego-> uruchom program zewnętrzny-> nunit-86x.exe i podaj nazwę .dll jako argument wiersza poleceń.

To rozpoczyna się od Nunit exe, ale bez przerw.

1) Aby rozwiązać ten problem iść do

C:\Program Files (x86)\NUnit 2.6.1\bin 

2) Szukane nunit-x86.exe.config lub jeśli planujesz używać nunit.exe następnie otwarty nunit.exe.config.

3) Otwórz grzywny w notatniku i wyszukaj linii

<startup useLegacyV2RuntimeActivationPolicy="true"> 
<!-- Comment out the next line to force use of .NET 4.0 --> 
<supportedRuntime version="v2.0.50727" /> 
<supportedRuntime version="v4.0.30319" /> 
</startup> 

4) Usuń linię obsługiwaną Runtime version = v2.0.50727 i zapisz plik (otwarty w trybie administratora, otwierając notes admin kliknij prawym przyciskiem i otwórz jako administrator).

5) Przebuduj projekt, aby uruchomić sesję diagnostyczną kodu testowego. Punkty przerwania zostaną trafione.

0

Dla każdego, kto ma ten problem: sprawdź, czy budujesz w trybie Release.

Miałem ten problem z NUnit 3.7.0 i rdzeniem dotnet 1.0 oraz VS 2017. Okazało się, że budowałem w trybie Release. Budowanie w trybie debugowania rozwiązało problem.

Powiązane problemy