Pracuję aktualnie w bardzo dziwnym projekcie, w którym ogólnie wykorzystywane są minimum (o tym minimum wiem) dwa mechanizmy testów jednostkowych: nUnit i MS Unit Testing Framework .

Akurat mi się nadarzyła taka okazja, że muszę pisać testy dla jednego jak i drugiego framework. I tak jak do póki korzystałem z nUnit problemów żadnych nie miałem – napisany test za pomocą R# uruchamiałem i czekałem na wynik. Tak przy wykonaniu bardzo podobnego testu (dosłownie kopia 1-1 tylko, że inny typ w parametrze generycznym) z wykorzystaniem atrybutów MS Tests przy pomocy R# test się nie uruchamiał, co gorsza VS miętosił, miętosił i jak już coś wymiętosił to kończył wykonywanie bez żadnej informacji dlaczego zakończył test, zaś okno sesji w R# wyglądało tak:

obrazek

Widoki Output i Error Lists w VS nic nie pokazywały. Debugger zaś nie był wstanie zatrzymać się na żadnym brak point. Ogólnie wiedziałem, że coś jest źle, ale co? Z pomocą dopiero przyszły narzędzia testowe z Visual Studio, które też nie chciały uruchomić testu ale z tą różnicą, iż podały przyczynę:

tests02

Failed to queue test run ‘jgut@GUTEK-WORKPC 2009-11-18 12:43:26’: Test Run deployment issue: The location of the file or directory ‘d:_projects..AutoMapper.dll’ is not trusted.

Problemem jak się okazało było odczytanie przez środowisko MS Tests biblioteki AutoMapper.dll, która została ściągnięta z Internetu ze stron CodePlex. Nie wiem czy ta opcja istnieje w Windows XP, ale od przynajmniej Visty, Windows dla plików ściąganych z netu dodaje atrybut blokujący plik. Okazało się, iż nUnit nie robił sobie z jego przyczyny nic, zaś MS Tests jak najbardziej:

tests03

UWAGA: Upewnijcie się, że atrybut Read-only jest odznaczony, w przeciwnym wypadku na nic wasze zmiany (przynajmniej u mnie nie działały).

Odblokowanie biblioteki i następnie ponowna kompilacja rozwiązała problem, od tej pory test działa zarówno w R# jak i w narzędziach testowych VS.

4 KOMENTARZE

  1. Jeżeli chodzi o problem z blokowaniem plików pobranych z internetu to problem występuje również w Windows XP, ja spotkałem się z tym pobierając pliki CHM, które po pobraniu nie wyświetlały się poprawnie i trzeba je było odblokować.

Comments are closed.