6

Đối với cuộc sống của tôi, tôi không thể kiểm tra đơn vị làm việc trong Visual Studio 2017 từ mẫu dự án mới netcoreapp1.0 xunit dựa trên msbuild.Không thể nhận được các bài kiểm tra XUnit làm việc với Visual Studio 2017 RC

Yêu cầu là để thử nghiệm đơn vị hoạt động cả bên trong Visual Studio (đối với nhà phát triển) và từ dotnet test trên CLI cho quá trình tạo tự động, tôi không thể làm việc một cách nhất quán.

Dưới đây là những gì tôi đã cố gắng:

Trong một giải pháp hiện có, tạo một dự án mới và chọn NET Lõi>xUnit thử nghiệm dự án.

dự án xây dựng từ Visual Studio, kiểm tra mặc định xuất hiện và chạy thành công, bây giờ chạy dotnet test từ dấu nhắc powershell, nhận được:

> dotnet test 
Test run for D:\...\bin\Debug\netcoreapp1.0\MyProj.dll(.NETCoreApp,Version=v1.0) 
dotnet exec needs a managed .dll or .exe extension. The application specified was 'C:\Program' 
kiểm tra

Hoặc DotNet với tập tin csproj:

> dotnet test MyProject.csproj 
(same error as above) 

> dotnet test ..\MySolution.sln 
Couldn't find a project to run test from. Ensure a project exists in D:\... 
Or pass the path to the project 

Nếu tôi thêm xunit.runner.console hoặc xunit.runner.msbuild gói nuget, nó dừng các kiểm tra đơn vị hoạt động từ bên trong Visual Studio.

Làm cách nào để cả hai hoạt động cùng một lúc?

Cảm ơn!

+0

@tommed, bạn có thể xây dựng/chạy điều này từ lời nhắc lệnh Visual Studio không? Vấn đề có lẽ là vì msbuild trong VS 2017 là ứng dụng cục bộ, có nghĩa là có các biến env đặc biệt được sử dụng để xác định vị trí của msbuild, thư mục .targets và lớp được sử dụng. –

+0

@MichaelBraude cảm ơn vì điều đó. Tôi cũng đã thử tương tự trong _Developer Command Prompt_ và _MSBuild Command Prompt_ và nhận được cùng một lỗi - tuy nhiên, suy nghĩ tốt đẹp! – tommed

+0

Mặc dù không phải về NET Core tôi đăng bài này như là một bình luận: VS2017 Full NET 4.5 khuôn khổ ở đây, cùng một vấn đề: không có bài kiểm tra đơn vị được tìm thấy. Tôi đã phải gỡ bỏ cài đặt và cài đặt lại 'xunit.runner.visualstudio' từ một trong các dự án của tôi bằng cách sử dụng Nuget. Sau đó xây dựng lại giải pháp, và kiểm tra đã được tìm thấy. Hi vọng điêu nay co ich. – Sharky

Trả lời

7

Lỗi bạn đang truy cập có trong Xem trước 3 và được khắc phục trong Xem trước 4. Chúng không thoát khỏi dòng lệnh khi thực thi nó và do mặc định dotnet.exe được cài đặt thành C:\Program Files\dotnet.

Nếu bạn muốn tiếp tục sử dụng Xem trước 3, thao tác đơn giản nhất là chỉnh sửa biến môi trường PATH và thay thế C:\Program Files\dotnet bằng C:\Progra~1\dotnet.

+0

Lỗi liên quan: https://github.com/dotnet/cli/issues/4832 –

+0

Bạn thật tuyệt vời - cảm ơn bạn !!!!! – tommed

6

Tôi biết đây không phải là câu trả lời hay, nhưng dotnet-test-xunit chỉ hỗ trợ tệp project.json. VS 2017 buộc bạn phải chuyển sang tệp csproj.

Tôi tìm thấy điều này trên nguồn cấp dữ liệu twitter xunit: Nếu bạn đang cố gắng sử dụng @xunit trong VS2017 RC w/.NET Core, hãy xóa dotnet-test-xunit và sử dụng xunit.runner.visualstudio 2,2 beta 4 thay thế.

+2

Đánh giá cao việc bạn cung cấp thông tin này.Tôi cũng đã đi đến kết luận rằng 'dotnet-test-xunit' ngắt VS2017 - gói nuget' xunit.runner.visualstudio' đã được cài đặt, nhưng không có cách nào để chạy các bài kiểm tra cli. – tommed

2

Với RC.3 mới nhất, tôi đã gặp sự cố với các kiểm tra không được phát hiện và phát hiện ra rằng khi bạn chạy Trình khám phá được tích hợp, nó cho biết rằng đầu ra thiếu Microsoft.DotNet.InternalAbstractions 1.0.0. Đây cũng là vấn đề trong các phiên bản trước của .NET Core, và giải pháp là như nhau, cài đặt gói từ Nuget.

+0

Đã khắc phục sự cố của tôi liên quan đến thử nghiệm với xUnit. Visual Studio 2017RC có số lượng lỗi đáng kinh ngạc được giới thiệu cho dự án và bộ đôi kiểm tra của nó out-of-the-box. – Hekkaryk

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