ShaneKm
ShaneKm

Reputation: 21308

.NET Core 2.0 and xUnit doesn't run

Visual Studio 2017 + .NET Core 2.0. I created a brand new xUnit test project from the template:

Project (.csproj) file:

    <Project Sdk="Microsoft.NET.Sdk">

      <PropertyGroup>
        <TargetFramework>netcoreapp2.0</TargetFramework>

        <IsPackable>false</IsPackable>
      </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
    <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
    <PackageReference Include="xunit" Version="2.3.1" />
    <PackageReference Include="xunit.runner.console" Version="2.3.1" />
  </ItemGroup>

    </Project>

Test

public class Class1
{
    [Fact]
    public void Test1()
    {
        Assert.Equal(1, 1);
    }
}

Whenever running or debugging tests I get "Inconclusive: Test not run". What am I missing?

I downloaded this sample: https://github.com/xunit/xunit.integration

When building this solution I get:

Error MSB3073 The command "dotnet "C:\Users\supersuper.nuget\packages\xunit.runner.console\2.3.1\build..\tools\netcoreapp2.0\xunit.console.dll" "C:\Users\supersuper\Desktop\xunit.integration-master\console\v2x_netcoreapp20\bin\Debug\netcoreapp2.0\v2x_netcoreapp20.dll"" exited with code 1. v2x_netcoreapp20 C:\Users\supersuper\Desktop\xunit.integration-master\console\v2x_netcoreapp20\v2x_netcoreapp20.csproj 13

Visual Studio version:

Enter image description here

dotnet --version
2.0.2

Enter image description here

Is it because of ReSharper?

Enter image description here

Upvotes: 3

Views: 2818

Answers (1)

Jacek Blaszczynski
Jacek Blaszczynski

Reputation: 3269

There are dependencies missing which should be added to get the ability to run tests in Visual Studio 2017 and from the console:

    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
    <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
    <PackageReference Include="xunit.runner.console" Version="2.3.1" />

I have not verified if the second one is required to support Visual Studio. Nevertheless, my tests run from Test Explorer and show detailed run results. There are some issues with vstest.descoveryengine.exe which is not needed for MSTest v2 projects, but in general testing from both the console and Test Explorer works.

I have created an xUnit .NET Core test project from the template in Visual Studio 2017 v15.4.2 and everything works out of the box.

The project looks different:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>

    <IsPackable>false</IsPackable>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0-preview-20170810-02" />
    <PackageReference Include="xunit" Version="2.2.0" />
    <PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />
  </ItemGroup>

</Project>

Test class:

using System;
using Xunit;

namespace XUnitTestProjectTmpl
{
    public class UnitTest1
    {
        [Fact]
        public void Test1()
        {

        }
    }
}

Test result:

Enter image description here

Upvotes: 5

Related Questions