Domanda

Sto cercando di vedere se esiste un modo per ottenere un risultato unit test coerente su più corridori di test. La situazione attuale è che abbiamo un assembly di test in cui vengono superati 4 test se li esegui nella GUI di NUnit, ma falliscono se li esegui usando TestDriven.NET o il test runner ReSharper. Nei casi in cui questi test falliscono (viene generata una System.NullReferenceException), Application.ExecutablePath sembra restituire l'eseguibile del runner di test anziché la DLL dell'assembly di test.

Esiste un valore diverso da Application.ExecutablePath che dovrei usare (al momento lo stiamo usando per ottenere l'accesso ai valori all'interno del file .config per la DLL)? Che cosa sta facendo (o non sta facendo) la GUI di NUnit che fa sì che si comporti correttamente mentre altri test runner falliscono?

È stato utile?

Soluzione

Puoi invece provare a utilizzare la classe System.Reflection.Assembly, ad esempio

String strPath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().CodeBase);

Ci sono alcuni altri metodi e proprietà in questa classe, quindi sono sicuro che troverai ciò di cui hai bisogno.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top