2017-06-15 28 views
6

tôi đã thực hiện một NuGet cài đặt như thế này:Liệu xunit.runner.visualstudio không làm việc cho Visual Studio

Install-Package xunit.runner.visualstudio -Version 2.2.0 

Mở dự án thử nghiệm của tôi.

Tôi có một bài kiểm tra tương tự như sau:

public class When_Doing_Stuff_I_Want_To_Test 
{ 

    [Fact] 
    public void Can_Do_Stuff() 
    { 
     var result = DoStuff(); 

     result.ShouldNotBeNull(); 
     result.Success.ShouldBeTrue(); 
    } 
} 

Mặc dù rằng tôi đã làm rất nhiều VS khởi động lại, khởi động lại máy tính xách tay, để lại một ngày ở giữa, VS 2017 vẫn không có khả năng khám phá thử nghiệm của tôi: enter image description here

Tôi có thể làm gì để sửa lỗi này và xem các bài kiểm tra của mình?

Phụ Lục

Tôi đang làm việc dưới 4.6.1, vì vậy chưa Core.

Câu hỏi liên quan đến cùng một chủ đề mà không giúp:

Vì vậy, có rất nhiều đi vòng quanh, không ai trong số no co ich đây ed ...

Cập nhật

tôi không thể nhận NUnit để làm việc một trong hai, sẽ không hiển thị trong thử nghiệm thám hiểm là tốt.

Cập nhật 2

Tôi lau dự án của tôi và tái tạo các dự án như vậy:

enter image description here

Sau đó, tôi sao chép mã ban đầu của tôi và thêm tất cả tài liệu tham khảo cần thiết, không có sự khác biệt.

+1

Bạn có "testRunner" và trong các phụ thuộc, "dotnet-test-xunit" được đặt trong tệp project.json của bạn không? –

+0

'testrunner' và' dotnet-test-xunit' không thể tìm thấy ở đâu trong cấu trúc thư mục giải pháp của tôi. – Spikee

+0

Loại dự án chính xác bạn sử dụng là gì? .NET Core, hay không? Nó không phải là một thiết lập dễ dàng tại thời điểm này, do sự phức tạp của các loại dự án, vì vậy bạn phải làm cho nó rất rõ ràng những gì bạn đang làm. –

Trả lời

7

Sau trawling internet, dường như nhắm mục tiêu NETStandard.Library không thể được sử dụng cho các dự án thử nghiệm ...

Đây là những liên kết Tôi nhận được thông tin từ:

Có thể thực hiện dự án bạn muốn thử nghiệm sử dụng NETStandard.Library và có mục tiêu dự án thử nghiệm của bạn Microsoft.NETCore.Ứng dụng. Sau đó dự án thử nghiệm của bạn có thể tham khảo dự án để kiểm tra và các thử nghiệm sẽ chạy.

Các csproj cho dự án thử nghiệm của bạn sẽ giống như thế này (phiên bản có thể thay đổi):

<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> 

Dự án thử nghiệm sẽ là:

<PropertyGroup> 
    <TargetFramework>netstandard1.4</TargetFramework> 
</PropertyGroup> 

Gần đây tôi đã có để chạy dotnet khôi phục về giải pháp để chạy thử nghiệm, vì vậy bạn có thể cần thực hiện tương tự. Tắt .NET Core SDK 1.0.1 đã được nhắm mục tiêu thay vì 1.0.4 (Tôi chưa cài đặt phiên bản x86).

+0

Điều đó đã giúp nó hoạt động, nhờ nỗ lực! – Spikee

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