2016-06-30 21 views
6

Sto cercando di utilizzare un framework di test per una libreria netstandard1.6. Ho provato a seguire e modificare Getting started with xUnit.net (.NET Core/ASP.NET Core) senza successo. Segui il tutorial di xUnit con una lib dotnetcore su RTM di Update 2015 VS 3 con il mio file project.json per riprodurre l'errore.Gestisci netstandard1.6 con xUnit

project.json:

{ 
    "version": "1.0.0-*", 
    "testRunner": "xunit", 
    "dependencies": { 
    "NETStandard.Library": "1.6.0", 
    "xunit": "2.2.0-beta2-build3300", 
    "dotnet-test-xunit": "2.2.0-preview2-build1029" 
    }, 
    "frameworks": { 
    "netstandard1.6": { 
     "imports": "dnxcore50" 
    } 
    }, 
    "runtimes": { 
    "win10-arm": {}, 
    "win10-arm-aot": {}, 
    "win10-x86": {}, 
    "win10-x86-aot": {}, 
    "win10-x64": {}, 
    "win10-x64-aot": {} 
    } 
} 

Errore:

Severity Code Description 
Error  NU1002 The dependency dotnet-test-xunit 2.2.0-preview2-build1029 does not support framework .NETStandard,Version=v1.0 

Posso effettuare il downgrade ad una versione di .netstandard supportata da dotnet-test-xUnit 2.2.0-Preview2-build1029? C'è qualche lavoro noto per usare xUnit con esso?

Dato che sono un po 'nuovo project.json e dotnetcore, potrei perdere qualcosa di utile.

risposta

8

Questo ha funzionato per me. Sembra che le versioni xunit esistenti non supportino ancora la libreria netstandard 1.6. Prova a cambiare il tuo progetto json per assomigliare a questo come previsto in xunit site. Ciò presuppone anche che si è creato un progetto di base NET

{ 
    "version": "1.0.0-*", 
    "testRunner": "xunit", 
    "dependencies": { 
    "xunit": "2.2.0-beta2-build3300", 
    "dotnet-test-xunit": "2.2.0-preview2-build1029" 
    }, 
    "frameworks": { 
    "netcoreapp1.0": { 
     "dependencies": { 
      "Microsoft.NETCore.App": { 
      "type": "platform", 
      "version": "1.0.0" 
      } 
     } 
     } 
    } 
} 
0
  1. Verificare le versioni disponibili per la dipendenza xunit. Penso che la 2.2.0 sia già definitiva.

  2. Un progetto xunit deve essere netcoreapp1.0 e non netstandard.

Vedere la loro pagina Web per i dettagli.

1

Suggerisco utilizzando le seguenti versioni (questo è lo stesso, come in pronti contro termine nucleo asp.net come Logging:

"dotnet-test-xunit": "1.0.0-*", 
"xunit": "2.1.0" 
-1

Lo strumento .NET CLI (dotnet) sostegno la creazione di un progetto di prova:

testproj $ dotnet new -t xunittest 
Created new C# project in /home/bartonjs/dotnet/testproj. 
testproj $ cat project.json 

Produce:

{ 
    "version": "1.0.0-*", 
    "buildOptions": { 
    "debugType": "portable" 
    }, 
    "dependencies": { 
    "System.Runtime.Serialization.Primitives": "4.1.1", 
    "xunit": "2.1.0", 
    "dotnet-test-xunit": "1.0.0-rc2-192208-24" 
    }, 
    "testRunner": "xunit", 
    "frameworks": { 
    "netcoreapp1.0": { 
     "dependencies": { 
     "Microsoft.NETCore.App": { 
      "type": "platform", 
      "version": "1.0.0" 
     } 
     }, 
     "imports": [ 
     "dotnet5.4", 
     "portable-net451+win8" 
     ] 
    } 
    } 
} 

Quelle versioni potrebbero meglio portare al successo.

3

È possibile importare il netcoreapp1.0 TFM per convincere gli utensili che le dipendenze sono compatibili con il framework di destinazione:

{ 
    "dependencies": { 
    "NETStandard.Library": "1.6.0", 
    "xunit": "2.2.0-beta4-build3444", 
    "dotnet-test-xunit": "2.2.0-preview2-build1029" 
    }, 
    "frameworks": { 
    "netstandard1.6": { 
     "imports": [ "netcoreapp1.0" ] 
    } 
    } 
} 

È possibile trovare una tabella dei moniker del framework di destinazione (TFM) nella documentazione NuGet collegata di seguito, inclusa una tabella di strutture deprecate che include dnxcore50 (sostituito da netcoreapp1.0):

https://docs.nuget.org/ndocs/schema/target-frameworks

Problemi correlati