Domanda

Ho scambiato la mia macchina di sviluppo (WinXP / 32bit) con una nuova (Windows 7 / 64bit). Ora ho problemi con l'esecuzione del test NUnit da Visual Studio 2008. Sto utilizzando l'ultima build di TestDrivenNet .

Quello che sto cercando è:

  • a) come far funzionare TestDrivenNet su Win7 / 64
  • b) alla ricerca di suggerimenti per test runner alternativo. Uno preferito preferito.

Cosa funziona su WinXp / 32 (e non funziona su Win7 / 64):

  • esegue un metodo di test all'interno di VS.NET
  • esegui il debug di un metodo di test all'interno di VS.NET
  • esegue tutti i test in una classe all'interno di VS.NET

Sintomi su Win7 / 64:

  • quando si tenta di eseguire il test, il runner riporta " 0 superato, 0 Non riuscito, 0 Ignorato " ;. Sembra che non riesca a trovare alcun test nella mia classe.
  • testato con TestDriven.NET-2.22.2468 (RTM) e 2.23.2497 (beta). Stessi risultati.

Domanda:

  • Puoi suggerire un buon runner di prova nunit funzionante per Win7 / 64? È preferita la variante gratuita.
  • Qualche suggerimento su come far funzionare il runner testdriven.net?
È stato utile?

Soluzione 2

Il mio collega ha avuto esattamente lo stesso problema e questa volta è in grado di fornire una soluzione minima. Lo sto ripubblicando qui - forse aiuterebbe anche qualcun altro.

Sembra che la causa principale del problema sia stata Source Gear Vault 3.5.x. Vedi il loro post sul forum di supporto per dettagli.

L'invio del seguente codice nel registro ha risolto TD.NET non funzionante:

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}]
@="IServiceProvider"
[HKEY_CLASSES_ROOT\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}\NumMethods]
@="4"
[HKEY_CLASSES_ROOT\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}\ProxyStubClsid32]
@="{A4A1A128-768F-41E0-BF75-E4FDDD701CBA}"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}]
@="IServiceProvider"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}\NumMethods]
@="4"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}\ProxyStubClsid32]
@="{A4A1A128-768F-41E0-BF75-E4FDDD701CBA}"

Altri suggerimenti

Sto usando win7 64 bit con TD.NET 2.22.246 e funziona bene. Gli unici altri corridori di Visual Studio esistenti sono mstest (eseguito solo come processo a 32 bit) e TestMatrix (non gratuito)

Per verificare se si tratta di un problema a 64 bit, è possibile creare il progetto di test come x86 ed eseguire i test con TD.NET. In tal caso TD.NET verrà eseguito come processo a 32 bit: è possibile verificarlo utilizzando Task Manager e guardando ProcessInvocation.exe

Se i test vengono eseguiti rispetto al problema a 64 bit. se fallisce, forse il problema è altrove. Stai usando altri strumenti nei tuoi test? copertura, derisione ecc., forse il problema è in un altro posto?

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