2017-04-22 22 views
24

Tôi thực sự yêu thích định dạng .csproj mới. Nó tốt hơn nhiều so với giới hạn (giới hạn) project.json.Làm thế nào để bạn chạy thử nghiệm đơn vị cho một khung mục tiêu cụ thể trong Visual Studio 2017?

Tuy nhiên, có một điều tôi đang cố gắng giải quyết. Tôi đã hợp nhất các dự án thử nghiệm (nhiều) của tôi thành một dự án đa mục tiêu duy nhất.

<TargetFrameworks>netcoreapp1.0;net40;net35</TargetFrameworks> 

Nhưng, dường như không có bất kỳ công cụ nào trong Test Explorer trong Visual Studio để chọn khung mục tiêu - nó luôn chạy chỉ mục đầu tiên. Tôi tìm thấy một workaround - để thêm một yếu tố <TargetFramework> với một khuôn khổ cụ thể ...

<TargetFramework>net35</TargetFramework> 

Nhưng, liệu có cách nào để chọn khuôn khổ mục tiêu mà không cần đến tay chỉnh sửa MSBuild (.csproj) nộp? Tôi đang tìm một số tùy chọn trong GUI để làm điều này - đặc biệt vì vậy tôi không phải nhớ chỉnh sửa tệp .csproj để chuyển đổi khung trước khi gỡ lỗi thử nghiệm hoặc nhớ phải xóa dòng này trước khi phát hành.

Trả lời

0

Sử dụng TargetFrameWorkVersion trong tệp cài đặt bằng toán tử 'hoặc'.

+1

Bạn có thể đưa ra ví dụ không? Ngoài ra, tôi đã hy vọng cho một cái gì đó trong GUI như tôi đã có một workyound hacky. – NightOwl888

+0

Có vẻ như tệp .runsettings chỉ hỗ trợ Framework35, Framework40, Framework45 và không hỗ trợ .NET Core. –

3

Tôi biết rằng câu hỏi là về VS, nhưng tôi thấy hữu ích khi nhắm mục tiêu nhiều khung dotnet tests lệnh will run tests for all frameworks trong <TargetFrameworks> nút:

> dotnet test 
... 
Test run for [projectPath]\bin\Debug\netcoreapp1.1\XUnitTestProject.dll(.NETCoreApp,Version=v1.1) 
... 
Test run for [projectPath]\bin\Debug\net461\XUnitTestProject.dll(.NETFramework,Version=v4.6.1) 
... 

NCrunch cũng có thể nhận ra nhiều mục tiêu và thử nghiệm chạy cho mỗi mục tiêu tự động:

enter image description here

+0

Có thể hữu ích đối với một số người, không hữu ích chút nào để gỡ lỗi - đặc biệt nếu bạn có thư viện và cách duy nhất để gỡ lỗi là chạy các thử nghiệm trong Visual Studio. – NightOwl888

+0

@ NightOwl888, không giống như VS hiện có giao diện người dùng cho điều đó. Hãy thử NCrunch - công cụ tuyệt vời để kiểm tra đơn vị và hỗ trợ gỡ lỗi bằng cách nhấp chuột phải vào dòng mã được kiểm tra. –

+0

Cảm ơn, nhưng có [không có giấy phép nguồn mở] (https://www.ncrunch.net/buy/faq#discount) cho sản phẩm này. Chúng tôi cần hỗ trợ bất kỳ ai sẵn sàng tham gia nhóm của chúng tôi và việc cấp phép cho NCrunch không đáp ứng được yêu cầu đó. – NightOwl888

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