Mam użyć nunit-console
do uruchomienia wszystkich testów w moim rozwiązaniu.Konsola nunitowa "nie można załadować pliku lub zestawu" przy użyciu MySolution.sln
Zrobiłem to:
c:\some\path>nunit-console-x86.exe MySolution.sln
NUnit-Console version 2.6.2.12296
Copyright (C) 2002-2012 Charlie Poole.
Copyright (C) 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov.
Copyright (C) 2000-2002 Philip Craig.
All Rights Reserved.
Runtime Environment -
OS Version: Microsoft Windows NT 6.1.7601 Service Pack 1
CLR Version: 2.0.50727.5466 (Net 3.5)
ProcessModel: Default DomainUsage: Default
Execution Runtime: net-3.5
Could not load file or assembly 'MyNamespace.Administration, Version=0.0.0.1, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
Więc postanowiłem spróbować nunit-x86.exe
zrobiłem File > Open Project > MySolution.sln
i dostał to:
---------------------------
NUnit
---------------------------
Test load failed!
System.IO.FileNotFoundException : Could not load file or assembly
'MyNamespace.Administration, Version=0.0.0.1, Culture=neutral,
PublicKeyToken=null' or one of its dependencies. The system cannot
find the file specified.
For further information, use the Exception Details menu item.
---------------------------
OK
---------------------------
The exception can be found here
co się dzieje i jak zrobić Naprawię to? (bez konieczności utrzymywania plik MySolution.nunit)
Więcej informacji
MyNamespace.Administration
nie jest nawet jedną z bibliotek DLL, który zawiera testy, co oznacza, że nunit zawiedzie próbuje załadować go szukać testy do uruchomienia. Wiedząc o tym, zredagowałem plik stworzony przeznunit-x86.exe
(MySolution.nunit) i usunąłem wszystkie biblioteki dll, które nie miały testów. Rzeczywiście, testy działają (zarówno w trybie GUI, jak i konsoli). Jest to dla mnie nie do przyjęcia, ponieważ oznaczałoby to, że muszę przechowywać kolejny plik konfiguracyjny. Nunit wspierający pliki .sln miał tego uniknąć.- Moje testy zakończą grzywny za pomocą TestDriven.NET (ale naprawdę trzeba uruchomić je przy użyciu nunit-console)
Mam spojrzał na this answer ale nie mogę zrozumieć, co mówi Log Viewer Fusion. Czy opublikowanie tego dziennika pomogłoby?Montaż wiązania Log Viewer, wymienia 3 pliki tworzone:- nunit-agent-X86.exe, ten wydaje się być trudny do znalezienia
MyNamespace.Administration.dll/EXE
inside the nunit directories - Tests_24398275 X2 - jeden szuka nunit.core w moich folderach projektowych i inne szukające unit.core.interfaces w moich folderach projektu. Nie zwracałbym na nich uwagi, ponieważ pojawiają się one również w moim ręcznie edytowanym projekcie .nunit).
- nunit-agent-X86.exe, ten wydaje się być trudny do znalezienia
- (za komentarzem andreistera) Problem wydaje się być związany z samym projektem/zespołem, a nie z metodą tworzenia. Jeśli utworzę projekt .nunit i spróbuję dodać do niego
MyNamespace.Administration
(używając "Dodaj zestaw ..." lub "Dodaj projekt VS ..."), to się nie powiedzie. - Zadzwoń pod
nunit-console-x86 somepath/bin/Debug/MyNamespace.Administration.dll
bezpośrednio działa.
Najwyraźniej "MyNamespace.Administration.dll" zawiera kod używany przez testy. Czy jesteś pewien, że nie zapomniałeś np., Aby umieścić 'CopyLocal = True' podczas odwoływania się do projektu? – andreister
Jest to odwołane przez projekt testowy (dll), ale ten projekt działa, gdy używam MySolution.nunit, co prowadzi mnie do przekonania, że naprawdę nie próbuje załadować tego projektu tylko po to, aby zobaczyć, czy ma testy (zakładam, że to otwiera projekty, aby zobaczyć, które z nich mają testy). –
Co powiesz na dodanie tego projektu do '.nunit' jawnie, aby sprawdzić, czy zawiedzie? Zwykle dla projektu, który nie jest testowany, NUnit po prostu zgłasza, że nie ma testów. – andreister