Devo usare nunit-console
per eseguire tutti i test nella mia soluzione.nunit-console "impossibile caricare file o assembly" utilizzando MySolution.sln
ho fatto questo:
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.
Così, ho deciso di provare nunit-x86.exe
ho fatto File > Open Project > MySolution.sln
e ottenuto questo:
---------------------------
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
Quello che sta accadendo e come fare Lo aggiusto? (senza la necessità di mantenere un file di MySolution.nunit)
Maggiori informazioni
MyNamespace.Administration
non è nemmeno una delle DLL che contiene le prove, il che significa che non riesce NUnit cercando di caricarlo per cercare test da eseguire. Sapendo questo ho modificato il file creato danunit-x86.exe
(MySolution.nunit) e rimosso tutte le DLL che non avevano test. Abbastanza sicuro, i test funzionano (sia in gui che in console). Questo non è accettabile per me perché significherebbe che devo conservare ancora un altro file di configurazione. Nunit che supporta i file .sln avrebbe dovuto evitare questo.- miei test funzionano bene con TestDriven.Net (ma ho davvero bisogno di eseguire utilizzando NUnit-console)
Ho guardato this answer ma non riesco a dare un senso a ciò che dice il visualizzatore di log di fusione. Pubblicherebbe quel registro di aiuto?Assemblea vincolante Log Viewer, elenca 3 file creati:- NUnit-agent-x86.exe, questa sembra essere cercando di trovare
MyNamespace.Administration.dll/EXE
inside the nunit directories - Tests_24398275 x2 - una ricerca di nunit.core nelle mie cartelle di progetto e un altro cercando unit.core.interfaces all'interno delle mie cartelle di progetto. Farei poca attenzione a questi due poiché essi appaiono anche nel mio progetto .nunit modificato manualmente).
- NUnit-agent-x86.exe, questa sembra essere cercando di trovare
- (per commento andreister) Il problema sembra essere relativo al progetto/assieme stesso e non al metodo di creazione. Se creo un progetto .nunit e provo ad aggiungere
MyNamespace.Administration
(usando 'Aggiungi assieme ...' o 'Aggiungi VS progetto ...') fallisce. - Chiamare
nunit-console-x86 somepath/bin/Debug/MyNamespace.Administration.dll
funziona direttamente.
Apparentemente, 'MyNamespace.Administration.dll' contiene il codice utilizzato dai test. Sei sicuro di non aver dimenticato, per esempio, di mettere "CopyLocal = True" quando fai riferimento al progetto? – andreister
Si fa riferimento a un progetto di test (dll), ma quel progetto funziona quando utilizzo MySolution.nunit, il che mi porta a credere che fallisca davvero il tentativo di caricare quel progetto solo per vedere se ha dei test (lo presumo apre i progetti per vedere quali hanno dei test). –
Che ne dici di aggiungere quel progetto in ".nunit' esplicitamente, per vedere se fallirebbe? Normalmente per un progetto di non test NUnit riporta solo che non ha test. – andreister