2016-12-09 17 views
5

Tôi vừa nâng cấp Dự án của mình lên .Net Core 1.1 và tất cả các thử nghiệm của tôi không được phát hiện ngay bây giờ. Nó được làm việc tốt khi nó được trong phiên bản cũ (Net Lõi 1.0)XUnit Các thử nghiệm không còn được phát hiện trong .Net Core 1.1

Sau đây là thông điệp trong VS 2015 Output Window được tạo ra bởi XUnit

------ Discover test started ------ 
Discovering tests in 'C:\TW\websites2016\AssetsDB\src\Tests\project.json' ["C:\Program Files\dotnet\dotnet.exe" test "C:\TW\websites2016\AssetsDB\src\Tests\project.json" --output "C:\TW\websites2016\AssetsDB\src\Tests\bin\Debug\netcoreapp1.1" --port 61778 --parentProcessId 7316 --no-build] 
'test-xunit' returned '-532462766'. 
========== Discover test finished: 0 found (0:00:01.7697049) ========== 

Codes trong project.json

{ 
    "version": "1.0.0-*", 
    "testRunner": "xunit", 

    "dependencies": { 
    "Microsoft.EntityFrameworkCore.SqlServer": "1.1.0", 
    "AssetsDB": { "target": "project" }, 
    "xunit": "2.2.0-beta4-build3444", 
    "dotnet-test-xunit": "2.2.0-preview2-build1029", 
    }, 

    "frameworks": { 
    "netcoreapp1.1": { 
     "dependencies": { 
     "Microsoft.NETCore.App": { 
      "type": "platform", 
      "version": "1.1.0" 
     } 
     }, 
     "imports": [ 
     "dotnet5.4", 
     "portable-net451+win8" 
     ] 
    } 
    } 
} 

mẫu của tôi thử nghiệm:

namespace Tests 
{ 
    public class QueryPagingAssetsTest 
    { 
     [Fact] 
     public void should_return_PagingAssetItems() 
     { 
      Assert.True(xxxxx); 
     } 
    } 
} 

có điều gì tôi đang thiếu? Tôi có cần phải thay đổi bất cứ điều gì để làm cho nó tương thích với .Net Core 1.1?

CẬP NHẬT: Phiên bản làm việc của project.json

Bạn cần phải thêm thư viện InternalAbstractions. Nếu bạn theo liên kết của Brad, nó sẽ cho bạn biết để sử dụng "xunit.runner.visualstudio" thay vì "xunit.runner.visualstudio". Nhưng AFAIK, nó không làm việc được nêu ra (tính đến 09/12/2016)

"dependencies": { 
    "AssetsDB": { "target": "project" }, 
    "Microsoft.DotNet.InternalAbstractions": "1.0.1-beta-003206", 
    "Microsoft.EntityFrameworkCore.SqlServer": "1.1.0", 
    "xunit": "2.2.0-beta4-build3444", 
    "dotnet-test-xunit": "2.2.0-preview2-build1029" 
    //"xunit.runner.visualstudio": "2.2.0-beta4-build1194" 
    }, 

Trả lời

1

Tôi đang sử dụng NUnit và sau đây giải quyết vấn đề của tôi: Cài đặt Microsoft.DotNet.InternalAbstractions, đóng Visual Studio, xóa project.lock.json, mở Visual Studio, biên dịch và chạy thử nghiệm

1

Tạo đơn vị xét nghiệm với ASP.NET lõi 1.1, xUnit và ReSharper

môi trường hiện tại của tôi:

  • Windows 10 64bit
  • trực quan S tudio Enterprise 2017 15,1 (26.403,7) Thả
  • ReSharper 2017.1.2

Sau khi tôi tạo ra một dự án với dotnet new xunit, tôi đã có thể tạo ra các bài kiểm tra và chạy nó với ReSharper Unit Test phiên.

csproj

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

    <PropertyGroup> 
    <TargetFramework>netcoreapp1.1</TargetFramework> 
    </PropertyGroup> 

    <ItemGroup> 
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" /> 
    <PackageReference Include="xunit" Version="2.2.0" /> 
    <PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" /> 
    </ItemGroup> 

    <ItemGroup> 
    <Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" /> 
    </ItemGroup> 

</Project> 

UnitTest.cs

using Xunit; 

namespace ErpWebApi.UnitTests 
{ 
    public class UnitTest1 
    { 
     [Fact] 
     public void TestFail() 
     { 
      Assert.Equal(2, 3); 
     } 

     [Fact] 
     public void TestSucess() 
     { 
      Assert.Equal(2, 2); 
     } 
    } 
} 

Kết quả:

See image only with hyperlink, no rep

Tham chiếu đến Microsoft

Các vấn đề liên quan