Usiamo Xunit per i test. Stiamo eseguendo i nostri test tramite Visual Studio 2013 Test Runner, utilizzando il plugin Xunit.Come fare riferimento ai file di test dai test Xunit in Visual Studio?
Il problema è che alcuni test devono fare riferimento ai file sul filesystem. Sembra che Xunit (o VS Test Runner - non so quale), copi gli assemblaggi, ma non tutti i file di supporto nella directory bin, in un'altra directory prima di eseguire i test, quindi i nostri file di test non vengono trovati. [Il quadro MS Test specifica gli attributi per l'elenco dei file da copiare, ma non si xUnit.]
Come sia disabilitare questo comportamento la copia, oppure di programmazione determinare la posizione originale bin/
directory per recuperare i file?
Sembra che la maggior parte delle soluzioni proposte (incluso nel sito di tracciamento dei bug di Xunit) suggeriscono di archiviare i file come risorse incorporate invece di file 'copia sempre'. Tuttavia, questo non è sempre pratico, ad esempio: test del codice di manipolazione dei file e (in un caso) codice che vuole un file di database Sqlite.
Sfortunatamente, questa soluzione non funziona più, Punto di ingresso url è irrilevante: System.IO.FileNotFoundException: Impossibile trovare il file 'C:. \ Users \ [nome utente] \ NuGet \ packages \ microsoft.testplatform.testhost \ 15.0.0 \ lib \ sample.log'. – st78
@ st78 Che cosa intendi con "non funziona più"? Quale versione di .NET stai usando? Cosa intendi per "URL del punto di ingresso"? – andrewf
Ho avuto lo stesso problema di st78 quando uso xunit e .net Core, ma questo lo risolse. Stavo usando Assembly.Location ma ho avuto l'errore menzionato da st78. L'uso di CodeBase ha risolto il problema. – alas