Handle netstandard1.6 with xUnit

前端 未结 5 1769
轮回少年
轮回少年 2021-01-18 07:29

I am looking to use a test framework for a netstandard1.6 library. I tried to follow and edit Getting started with xUnit.net (.NET Core / ASP.NET Core) without success. Foll

相关标签:
5条回答
  • 2021-01-18 07:47

    I suggest using the following versions (this is the same, as in asp.net core repos like Logging:

    "dotnet-test-xunit": "1.0.0-*",
    "xunit": "2.1.0"
    
    0 讨论(0)
  • 2021-01-18 08:03

    You can import the netcoreapp1.0 TFM to convince the tooling that the dependencies are compatible with the target framework:

    { 
      "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" ]
        }
      }
    }
    

    You can find a table of target framework monikers (TFM) in the NuGet documentation linked below, including a table of deprecated frameworks which includes dnxcore50 (replaced by netcoreapp1.0):

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

    0 讨论(0)
  • 2021-01-18 08:08

    This worked for me. It seems existing xunit versions do not support the netstandard 1.6 library yet. Try changing your project json to look like this as provided for in xunit site. This also assumes that you created a .net core library project

    {
      "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 讨论(0)
  • 2021-01-18 08:09
    1. Check the available versions for the xunit dependency. I think the 2.2.0 is already final.

    2. A xunit project needs to be netcoreapp1.0 and not netstandard.

    See their web page for details.

    0 讨论(0)
  • 2021-01-18 08:10

    The .NET CLI tool (dotnet) support creating a test project:

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

    Produces:

    {
      "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"
          ]
        }
      }
    }
    

    Those versions might better lead to success.

    0 讨论(0)
提交回复
热议问题