Tại sao Visual Studio 2015/2017/2019 Test Runner không khám phá các bài kiểm tra xUnit v2 của tôi


173

CẬP NHẬT: Thêm một năm 2019; cơ chế tích hợp khám phá / người chạy giống như năm 2017 & 2015, vì vậy những điều quan trọng có thể sai là như nhau.


Tôi đã đọc Tại sao người chạy xUnit không tìm thấy bài kiểm tra của mình, trong đó có lý do xUnit sẽ không bao giờ có thể tìm thấy bài kiểm tra của bạn nhưng vấn đề của tôi thì khác - tôi tin rằng không có gì tinh tế xảy ra với bài kiểm tra của tôi; (họ đã làm việc trong các môi trường khác, đây dường như chỉ là máy của tôi) - Người chạy thử nghiệm Visual Studio trong Visual Studio 2015 [Phiên bản cộng đồng] đơn giản là không hiển thị bất kỳ thử nghiệm nào của tôi. Tôi không làm bất cứ điều gì từ xa thú vị; mục tiêu thử nghiệm xUnit.net v2 trên Bàn làm việc.

Tôi đã nhìn vào cửa sổ đầu ra và hoàn toàn không thấy gì trong phần Kiểm tra trong đầu ra Hiển thị từ các tab.



1
Đây chỉ là một vấn đề có thể xảy ra, nhưng rõ ràng bạn phải biên dịch dự án thử nghiệm trước khi nó được hiển thị trong trình thám hiểm thử nghiệm.
Niklas Peter


Điều này làm việc cho tôi - stackoverflow.com/questions/42861930/ Kẻ
Tù nhân ZERO

Cài đặt Xunit.Runner.VisualStudio đã giải quyết vấn đề của tôi
Bendram

Câu trả lời:


210
  1. Loại bỏ các ngoại lệ khám phá từ yêu cầu của bạn; đi đến Cửa sổ đầu ra (Ctrl-Alt-O), sau đó chuyển đầu ra chương trình từ danh sách thả xuống (Shift-Alt-S) sang Kiểm tra và đảm bảo không có ngoại lệ khám phá

  2. Kiểm tra | Cài đặt kiểm tra | Kiến trúc bộ xử lý mặc định có thể giúp nếu các kiểm tra của bạn là cụ thể x86 / x64 và khám phá đang kích hoạt các ngoại lệ liên quan đến bị cắn, tức là không phải AnyCpu

  3. Như được đề xuất trong câu trả lời này (upvote nếu kỹ thuật này giúp) chạy trình chạy bảng điều khiển máy tính để bàn ( hướng dẫn ) có thể là một kiểm tra chéo tốt để loại bỏ các khả năng khác, ví dụ: tệp cấu hình bị xáo trộn: -

    packages\xunit.runner.console.2.2.0\tools\xunit.console <tests.dll>

    LƯU Ý xunit.runner.consoleGói không được dùng nữa - khi bạn có công cụ hoạt động trong VS, bạn cũng có thể dotnet testchạy chúng trong bối cảnh CI


Hãy đọc tài liệu - toàn diện, cập nhật, bao gồm thông tin khắc phục sự cố và thực hiện PR: -

Lưu ý quan trọng: Nếu trước đây bạn đã cài đặt xUnit.net Visual Studio Runner VSIX (Tiện ích mở rộng), trước tiên bạn phải gỡ cài đặt nó. Trình chạy Visual Studio chỉ được phân phối qua NuGet ngay bây giờ. Để xóa nó, hãy vào Công cụ > Tiện ích mở rộng và Cập nhật . Cuộn xuống cuối danh sách và nếu xUnit.net được cài đặt, hãy gỡ cài đặt nó. Điều này sẽ buộc bạn phải khởi động lại Visual Studio.

Nếu bạn gặp sự cố khi phát hiện hoặc chạy thử nghiệm, bạn có thể là nạn nhân của bộ đệm người chạy bị hỏng trong Visual Studio. Để xóa bộ đệm này, hãy tắt tất cả các phiên bản của Visual Studio, sau đó xóa thư mục %TEMP%\VisualStudioTestExplorerExtensions. Đồng thời đảm bảo rằng dự án của bạn chỉ được liên kết với một phiên bản duy nhất của gói NuGet của Visual Studio ( xunit.runner.visualstudio).

Các bước sau đây làm việc cho tôi:

  1. (Chỉ khi bạn nghi ngờ có sự cố nghiêm trọng trên máy của mình - nói chung, trường hợp phổ biến hơn là tích hợp phòng thu trực quan chưa được cài đặt)

    Làm DEL %TEMP%\VisualStudioTestExplorerExtensionstheo lời khuyên: -

    PS> del $env:TEMP\VisualStudioTestExplorerExtensions

  2. Cài đặt gói NuGet xunit.runner.visualstudiotrong tất cả các dự án thử nghiệm

    • Paket:

      .paket\paket add nuget xunit.runner.visualstudio -i

      Bạn cần kết thúc với những điều sau đây trongpaket.dependencies :

      nuget xunit.runner.visualstudio version_in_path: true

      Lưu ý version_in_path: truebit là quan trọng

    • Nuget: Chuyển đến Bảng điều khiển quản lý gói (Alt-T, N, O) và

      Install-Package xunit.runner.visualstudio)

    Xây dựng lại để đảm bảo xunit.runnerkết thúc trong thư mục đầu ra

  3. Đóng Test Explorer <- đây là bit bị thiếu đối với tôi

  4. Mở lại Test Explorer (Alt-S, W, T)

  5. Chạy tất cả các bài kiểm tra (Ctrl R, A)


12
"Đóng Test Explorer <- đây là phần còn thiếu đối với tôi" Đây là bước quan trọng nhất mà tôi đã bỏ lỡ và dành 5 giờ để tìm ra. Cảm ơn bạn, tôi nên chú ý đến các bước :)
Esen

1
người chạy xunit VS đã làm việc cho sln của tôi. Tuy nhiên, nó đã ngừng hiển thị một ngày. Phát hiện ra rằng tôi đã không cài đặt VS đang chạy và nó hoạt động có lẽ là do bộ đệm, còn lại bởi các sln khác đã cài đặt trình chạy. Sau khi cài đặt máy chạy, mọi thứ hoạt động tốt trở lại. Vì vậy, đừng quên cài đặt trình chạy cho mỗi sln.
ZZZ

1
Thật không thể tin được. Xóa thư mục có ba thư mục trống khác trong đó đã khắc phục sự cố.
t3chb0t

1
@martinJH Tôi có một tự trả lời một cho rằng (Liên Kết trong OP): - stackoverflow.com/questions/16214684/... ;) Không được tiết lộ làm thế nào tôi phát hiện ra rằng mặc dù
Ruben Bartelink

1
Những thứ thực sự kỳ lạ, nhưng xóa %TEMP%\VisualStudioTestExplorerExtensionsvà khởi động lại VS cuối cùng đã hoạt động!
Hinrich

35

Tôi đã phải thay đổi Cài đặt kiểm tra sau khi thay đổi CPU dự án thử nghiệm thành x64. Sau đó, các xét nghiệm nơi phát hiện lại.

Ngành kiến ​​trúc


Bạn có thấy một thông báo trước đó trong đầu ra khám phá thử nghiệm không?
Ruben Bartelink

Không, tôi không thấy bất kỳ lỗi nào, phải mất một thời gian để tìm ra.
Tối đa

hmm; lạ (xem phần đầu của câu trả lời của tôi - nó giải thích nơi để xem xét; thường này được đánh dấu (mặc dù có những trường hợp def nơi có chỉ đơn giản là có tin nhắn bất cứ nơi nào))
Ruben Bartelink

CÁi này đã sửa nó giúp tôi. Tôi không biết tại sao điều này giúp, nhưng nó làm.
VSO

2
Tôi đã phải làm sạch -> xây dựng lại sau khi thay đổi.
2023861

32

Không có giải pháp nào ở trên làm việc cho tôi (dotnetcore 1.1, VS2017). Đây là những gì đã sửa nó:

  1. Thêm gói NuGet Microsoft.TestPlatform.TestHost
  2. Thêm gói NuGet Microsoft.NET.Test.Sdk

Đó là ngoài những gói Tôi đã cài đặt trước:

  • xunit (2.3.0-beta1-build3642)
  • xunit.runner.visualstudio (2.3.0-beta1-build1309)

9
Điều này đã giúp tôi, tôi đã thiếu gói xunit.runner.visualstudio.
Ognjen Babic

Dự án Kiểm tra MS .NET 4.72 của tôi TestPlatform.TestHostchỉ cần khi di chuyển từ VS 2017 sang VS 2019.
ΩmegaMan

Điều này đã giải quyết nó cho tôi. Trong cửa sổ đầu ra, chọn Kiểm tra từ trình đơn thả xuống => xem thông báo "thiếu Testhost".
datchung

22

Cài đặt xunit.runner.visualstudiogói cho dự án thử nghiệm


Câu trả lời tốt nhất trên trang. Đã sửa lỗi của tôi.
RB Davidson

14

Thực hiện theo các bước sau:

  1. Cập nhật của bạn MsTest.TestAdapterMsTest.TestFramework dll'stừ nugget package manager.
  2. Làm sạch giải pháp của bạn
  3. Xây dựng giải pháp của bạn.

1
Bạn có thể mở một bản sao của câu hỏi này và tự trả lời như tôi đã làm không? Đây là về xUnit v2 và sau đó. Ngay cả câu trả lời xUnit v1 cũng không có chỗ ở đây. Bạn có thể liên kết với nó bằng một cái nhìn ở đầu câu hỏi hoặc tôi có thể liên kết với nó trong câu hỏi
Ruben Bartelink

Giải pháp này hoạt động .. Nếu không, mỗi khi tôi phải gỡ bỏ %TEMP%\VisualStudioTestExplorerExtensionsvà đôi khi tôi vẫn phải chạy thử nghiệm từ bàn điều khiển.
Venky

Tôi đang sử dụng NUnit và tôi đã giải quyết vấn đề này bằng cách cập nhật NUnit3TestAd CHƯƠNG lên phiên bản mới nhất thông qua NuGet.
dpberry178

Cảm ơn vì điều này - trong trường hợp của tôi chỉ cần Cập nhật Gói-cài đặt MSTest.TestAd CHƯƠNG và các bài kiểm tra đã được chọn.
Rob

10

Tôi đã vật lộn với điều này cả buổi chiều trong khi làm việc với một dự án ASP Core và xUnit 2.2.0. Giải pháp cho tôi là thêm một tài liệu tham khảoMicrosoft.DotNet.InternalAbstractions

Tôi đã tìm thấy điều này khi cố gắng chạy dự án thử nghiệm bằng tay dotnet testnhưng không thành công nhưng báo cáo InternalAbstractionsđã bị thiếu. Tôi không thấy lỗi này trong cửa sổ đầu ra thử nghiệm khi phát hiện tự động không thành công. Thông tin duy nhất tôi thấy trong cửa sổ khám phá là mã trả về, điều đó không có ý nghĩa gì với tôi vào thời điểm đó, nhưng nhìn chung có lẽ là một lỗi.


"nhưng đã báo cáo một lỗi hữu ích" ... đó là? Ngoài ra, bạn có thể xác minh rằng nó chắc chắn không được liệt kê trong cửa sổ lỗi phát hiện như đã nêu trong OP - tức là bạn có thể tự tin nói rằng "Tôi đã nhìn vào cửa sổ đầu ra và không thấy gì cả trong phần Kiểm tra đầu ra Hiển thị từ các tab . " ?
Ruben Bartelink

1
Xem câu trả lời cập nhật, tôi sẽ đăng thông tin mã trả về sau trong trường hợp có liên quan.
Tom Makin

9

Điều đó đã xảy ra với tôi một vài lần - khi tôi làm sạch dự án và xây dựng lại nó, nó có xu hướng ổn.


có thông báo nào khi bạn nhìn vào cửa sổ đầu ra với các Bài kiểm tra được chọn trong danh sách thả xuống không?
Ruben Bartelink

2
Không có gì, nó chỉ nói Không có bài kiểm tra nào được tìm thấy
Liam

Trong trường hợp của tôi, Test Explorer đã bị treo trong một thử nghiệm thất bại trước đó. Nếu tôi duyệt qua nó và cố gắng nhấp chuột phải -> Chạy hoặc bất cứ thứ gì thì toàn bộ VS sẽ bị treo. Chỉ cần thực hiện Clean and Rebuild đã xóa trạng thái kiểm tra và khắc phục sự cố cho tôi.
Pi

Tôi có thể thêm rằng việc xây dựng đơn giản (tức là F6) sẽ không giúp ích gì không, bạn cần nhấp chuột phải vào giải pháp trong VS Solution Explorer và nhấp vào Rebuild Solution.
Pi

8

Hãy chắc chắn rằng lớp kiểm tra của bạn là công khai .


đó là địa chỉ rõ ràng trong điều kiện đầu tiên (tôi liên kết với một câu hỏi khác bao gồm trường hợp đó); Q + A này chỉ là về khắc phục sự cố làm thế nào bình thường các bài kiểm tra OK hoạt động ở những nơi khác không hoạt động cho ai đó righjt bây giờ trong một môi trường nhất định. Đối với tôi câu trả lời này chỉ gây nhầm lẫn các vấn đề vì nó làm loãng sự khác biệt đó.
Ruben Bartelink

1
Cảm ơn bạn rất nhiều. Bạn đã cứu ngày của tôi.
hellouworld

7

Lý do trong trường hợp của tôi là việc xây dựng mục tiêu không giống nhau giữa trình gỡ lỗi dự án và người chạy thử nghiệm. Để thống nhất các yếu tố đó:

  1. Kiểm tra> Cài đặt kiểm tra> Kiến trúc bộ xử lý mặc định. sau đó chọn X64 hoặc X86.
  2. Dự án> (dự án của bạn) Thuộc tính> Xây dựng (tab)> mục tiêu nền tảng.

Sau khi chúng giống hệt nhau, hãy xây dựng lại giải pháp của bạn sau đó các phương thức kiểm tra sẽ xuất hiện cho bạn.


6

Sau khi dành 2 ngày ... không có gì ở trên làm việc cho tôi. "Giải pháp" duy nhất là: Chuyển đến thuộc tính dự án -> Build Tab. Sau đó nhấp vào nút Nâng cao ở góc dưới bên phải của khung. Thay đổi "Thông tin gỡ lỗi:" thành "đầy đủ" và nhấp vào OK.

Dưới đây là ảnh chụp màn hình: nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đâynhập mô tả hình ảnh ở đây


Nghe có vẻ đau. Cảm ơn đã chia sẻ và hy vọng nó sẽ giúp ai đó một ngày nào đó. Tuy nhiên tôi phải nói rằng: Tôi không thể nghĩ ra bất kỳ lý do nào khiến mức độ thông tin gỡ lỗi ảnh hưởng đến quá trình khám phá nên tôi chỉ có thể nói "Tôi không nghĩ đó là những gì thực sự bắn con gấu" - hãy hy vọng tôi đã sai mặc dù;)
Ruben Bartelink

@RubenBartelink hoàn toàn đồng ý với bạn, đó là lý do tại sao tôi đã đề cập đến "giải pháp" trong một trích dẫn :) nhưng thật kỳ lạ, nó đã hoạt động ngay khi tôi làm điều này.
tò mòBoy

Cảm ơn rât nhiều. Đây cũng là bản sửa lỗi cho tôi :)
Babulaas

6

Tôi đang sử dụng xUnit 2.2.0.

Vấn đề của tôi là giải pháp của tôi đã không thể tìm thấy một số dll nhất định và app.configđang cố gắng giải quyết chúng. Lỗi không hiển thị trong cửa sổ đầu ra thử nghiệm trong Visual Studio.

Tôi đã có thể xác định lỗi khi tôi cài đặt xunit.runner.consolevà cố gắng chạy thử nghiệm thông qua dòng lệnh.

Làm thế nào để chạy thử nghiệm xunit trong CLI .


5

Tôi có thể cung cấp một giải pháp cho một trường hợp cạnh mà tôi gặp phải vài ngày trước. Nó sẽ không phải là giải pháp phù hợp với tất cả các kịch bản được mô tả ở trên, tuy nhiên, đối với trường hợp cạnh tôi đã sửa nó.

Tôi gặp vấn đề tương tự với VS 2017 gần đây nhất (phiên bản 15.5.7) và XUnit 2.3.1. Gói xunit.runner.visualstudio đã được cài đặt, tuy nhiên, các thử nghiệm không hiển thị trong trình thám hiểm thử nghiệm tích hợp của VisualStudio.

Tôi đã làm việc trên một dự án cũ đang nhắm mục tiêu .NET framework 4.5. Tuy nhiên, bắt đầu với phiên bản 2.2. XUnit không hỗ trợ .NET framework thấp hơn 4.5.2 (xem Ghi chú phát hành - XUnit 2.2: ngày 19 tháng 2 năm 2017

Thay đổi khung mục tiêu của dự án thử nghiệm thành phiên bản> = 4.5.2 làm việc với tôi. Bạn không phải thay đổi phiên bản của dự án mà bạn đang thử nghiệm, đó chỉ là về chính dự án thử nghiệm.


5

Tôi gặp vấn đề tương tự với Visual Studio 2019. Chỉ cần cài đặt các gói NuGet sau và vấn đề đã được giải quyết.

1). xUnit

2). xunit.runner.visualstudio

3). Microsoft.TestPl Platform.Testhost

4). Microsoft.NET.Test.Sdk


3

Điều này cũng có thể là do hộp kiểm xây dựng không được đánh dấu cho dự án nền tảng hiện tại trong cấu hình bản dựng. Nhấp vào Xây dựng | Trình quản lý cấu hình, sau đó đảm bảo các dự án thử nghiệm có dấu tích trong cột xây dựng cho nền tảng mà bạn đang sử dụng (ví dụ: 'x86').

Đây chắc chắn là giải pháp hiệu quả với tôi.


Tôi sẽ nâng cấp điều này nếu nó có trên stackoverflow.com/questions/16214684/ triệt vì đây không phải là xunit2 cụ thể và là một yếu tố kiểm tra tốt
Ruben Bartelink

3

Đảm bảo rằng bạn chưa viết bài kiểm tra đơn vị của mình trong Thư viện lớp .NET Standard 2.0. Trình chạy visualstudio không hỗ trợ chạy thử nghiệm trong các thư viện lớp netst Chuẩn2.0 tại thời điểm viết bài này.

Kiểm tra ma trận tương thích của người chạy thử ở đây :

https://xunit.github.io/#runners


3

Chạy vào một vấn đề tương tự với VS không khám phá các phương pháp thử nghiệm. Trong trường hợp của tôi, tôi đã có từ khóa tĩnh với phương thức mà tôi đã loại bỏ và nó đã hoạt động.

[TestMethod]

Before: public static void Test1()

After: public void Test1()

1
Tôi thực sự thích nếu điều này không có ở đây vì đây là về các xét nghiệm chính xác khác không thể tìm thấy trong một trường hợp cụ thể của VS. Tôi có một câu trả lời tự giải thích tại sao một bài kiểm tra xunit không thể được phát hiện: stackoverflow.com/questions/16214684/ . Tôi có thể đề nghị bạn tạo một lý do tại sao không thể chọn bài kiểm tra MSTest của tôi (bằng VS nếu bạn muốn). (Như bạn đã biết, mối quan tâm đặc biệt này thậm chí không áp dụng cho xUnit, đó là một lý do khác tại sao, hữu ích vì câu trả lời của bạn không thuộc về nơi này)
Ruben Bartelink

MSTest không tìm thấy các thử nghiệm của tôi vì công cụ sửa đổi truy cập lớp là nội bộ.
Abdul Saboor

3
  1. Đóng tất cả các phiên bản Visual Studio
  2. Truy cập% TEMP% \ VisualStudioTestExplorerExtensions \
  3. Xóa các thư mục liên quan
  4. Thử lại

cho tôi biết cám ơn


2

Trong trường hợp của tôi, tôi đã có 2 dự án thử nghiệm khác nhau trong giải pháp. Các thử nghiệm Dự án 1 có thể được tìm thấy, nhưng các thử nghiệm Dự án 2 thì không thể. Tôi thấy rằng trước tiên, dỡ tải Dự án thử nghiệm 1, sau đó đóng VS> xóa các tệp tạm thời> mở lại giải pháp> xây dựng lại, cho phép VS khám phá các thử nghiệm Dự án 2 của tôi.

Tôi cho rằng một cái gì đó phải xung đột giữa hai dự án thử nghiệm và đây là cách nhanh nhất để giúp tôi đứng dậy và chạy trong vài phút. Các nút thắt có thể được xử lý sau :).


2

Tôi đã chịu đựng vấn đề này trong thời gian dài.

  • Tôi đã có khoảng 100 dự án phiên bản khác nhau được triển khai trong các máy chủ khác nhau.

  • Cập nhật xunit từ 2.2.0 lên 2.3.1 không phải là một giải pháp vì quá trình xây dựng bị lỗi trong 2.3.1.

Sau đó, tôi mới cập nhật xunit.runner.visualstudio lên 2.3.1 và mọi thứ bắt đầu hoạt động tốt. Tôi đã sử dụng lệnh này trong bảng điều khiển trình quản lý gói để cập nhật gói xunit.runner.visualstudio của tôi

Get-Project ComapanyName.ProjectName.*.Tests | Install-Package xunit.runner.visualstudio -Version 2.3.1

1

Thủ phạm phổ biến nhất đối với tôi là Visual Studio đang cố chạy các thử nghiệm bằng cách sử dụng một kiến ​​trúc khác với thư viện mà nó đang thử nghiệm. Thật không may, có nhiều nơi mà dường như điều này có thể đi sai.

Trong VS 2017, hãy thử tạo tệp Run Settings, ví dụ như Default.runsettingstrong dự án thử nghiệm của bạn. Nếu lib chính của bạn là x64, nội dung sẽ là:

<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
  <RunConfiguration>
    <TargetPlatform>x64</TargetPlatform>
  </RunConfiguration>
</RunSettings>

Sau đó chọn tệp này từ Kiểm tra -> Cài đặt kiểm tra -> Chọn Tệp cài đặt kiểm tra.

Sau đó, trong Kiểm tra -> Cài đặt kiểm tra, Kiến trúc bộ xử lý mặc định, chọn lại kiến ​​trúc chính xác.

Hãy chắc chắn để làm sạch và xây dựng toàn bộ giải pháp. Bạn có thể cần phải đóng và mở lại cửa sổ Test Explorer. Tìm kiếm bất kỳ lỗi bổ sung nào trong cửa sổ Đầu ra -> Kiểm tra, để biết thêm manh mối về các loại kiến ​​trúc không chính xác.

Các mục Cài đặt Kiểm tra bổ sung của FYI có thể được tìm thấy ở đây .


1

Có một lý do khác có thể khiến Test Explorer không hiển thị bất kỳ thử nghiệm nào và nó phải thực hiện với .pdbđịnh dạng tệp di động mới được giới thiệu với Visual Studio 2017 / cho .NET Core có thể phá vỡ một số công cụ VS. (Bối cảnh: Xem báo cáo lỗi "Mono.Cecil gây ra OutOfMemoryException với các PDB .csproj mới" .)

Các bài kiểm tra của bạn không được tìm thấy vì .pdbđịnh dạng di động (biểu tượng gỡ lỗi) mới?

  • Mở cửa sổ đầu ra .
  • Thay đổi lựa chọn thả xuống cho Hiển thị đầu ra từ sang Thử nghiệm .
  • Nếu bạn thấy đầu ra như sau (có thể lặp lại một lần cho mỗi bài kiểm tra của bạn), thì bạn đã gặp vấn đề được mô tả trong câu trả lời này:

    Exception System.OutOfMemoryException, Exception converting <SignatureOfYourTestMethod>
    Array dimensions exceeded supported range.

Nếu có, làm điều này để giải quyết vấn đề:

  • Mở Thuộc tính của dự án thử nghiệm của bạn (chọn dự án thử nghiệm trong Solution Explorer và nhấn Alt+ Enter).
  • Chuyển sang tab Build .
  • Nhấp vào nút Nâng cao ... (nằm ở cuối trang tab đó).
  • Trong trình đơn thả xuống có nhãn thông tin gỡ lỗi , chọn none, pdb-onlyhoặc full, nhưng KHÔNG portable . Chính cài đặt cuối cùng này khiến các bài kiểm tra không được tìm thấy.
  • Nhấn OK và dọn dẹp & xây dựng lại dự án của bạn. Nếu bạn muốn chắc chắn hơn, hãy chuyển đến thư mục đầu ra của dự án thử nghiệm của bạn và xóa tất cả .pdbcác tệp trước khi xây dựng lại. Bây giờ các bài kiểm tra của bạn sẽ trở lại.

1

Chuyện xảy ra với tôi khi tôi thực hiện những nỗ lực đi bộ đầu tiên với IntelliTest trong VS 2017.

Đôi khi, khi dự án thử nghiệm được IntelliTest tạo tự động, tham chiếu lắp ráp đến Microsoft.ExtendedReflection( ... \ Chương trình tệp (x86) \ Microsoft Visual Studio \ 2017 \ Enterprise \ Common7 \ IDE \ Tiện ích mở rộng \ Microsoft \ Pex \ Microsoft.ExtendsReflection. dll ) bị thiếu. Khi được thêm vào, các Thử nghiệm được tạo sẽ hiển thị trong trình thám hiểm thử nghiệm sau khi biên dịch lại.


1

Tuyên bố miễn trừ trách nhiệm: không phải là về xunit với visual studio 2015, mà là Visual Studio 2017 với ứng dụng thử nghiệm đơn vị UWP (MSTest). Tôi đã nhận được chủ đề này tìm kiếm điều tương tự để có thể người khác sẽ làm như vậy :)

Giải pháp cho tôi là cập nhật các gói nuget cho MSTest.TestAd CHƯƠNG và MSTest.TestFramework. Có vẻ như khi bạn tạo một ứng dụng thử nghiệm đơn vị cho UWP, bạn không tự động nhận được các phiên bản mới nhất.


Tôi khuyên bạn nên tự hỏi một câu hỏi như tôi đã làm là cách tốt nhất để sắp xếp thông tin đó - hãy sao chép và dán toàn bộ câu hỏi của tôi và s / xUnit / MSTest / nếu bạn nghĩ nó hợp lý;)
Ruben Bartelink

1

Vấn đề của tôi đã được giải quyết bằng cách cài đặt nuget xunit.runner.visualstudio


1

Trong trường hợp của tôi, tôi có nhiều dự án thử nghiệm trong cùng một giải pháp và chỉ một trong số các dự án không hiển thị "Test Explorer"

Tôi đã đi đến "Quản lý gói Nuget cho giải pháp" bằng cách nhấp chuột phải vào giải pháp.

Tôi nhận thấy trong tab "Hợp nhất" có một số gói nuget "Thử nghiệm" không đồng bộ giữa các dự án. Tôi bấm vào "Cài đặt" và các bài kiểm tra còn thiếu của tôi xuất hiện.


1

Tôi đã thử hầu hết các đề xuất ở trên và không có gì hiệu quả. Trong trường hợp của tôi, tôi ở trong một nhóm và các bài kiểm tra đã xuất hiện cho các nhà phát triển khác cho cùng một giải pháp. Vì vậy, tôi đã cố gắng chỉ xóa thư mục .vs của mình, nhưng cũng không có may mắn.

Cuối cùng tôi đã xóa hoàn toàn thư mục cục bộ của mình và sao chép lại repo. Điều đó đã giải quyết nó cho tôi.


1

Đây là giải pháp làm việc cho chúng tôi. Không phải là tốt nhất nhưng có lẽ một người có thể có lợi.

Lý lịch:

  • Các tập lệnh của chúng tôi đã được phát triển với VS 2013 và sử dụng Bộ chuyển đổi NUnit VS 2.1 ..
  • Gần đây, chúng tôi đã chuyển sang VS 2017 và khi mở cùng một giải pháp - thử nghiệm sẽ không hiển thị trong Test Explorer

Khi xây dựng, chúng ta sẽ thấy thông báo này:

[Informational] NUnit Adapter 3.10.0.21: Test discovery starting
[Informational] Assembly contains no NUnit 3.0 tests: C:\ihealautomatedTests\SeleniumTest\bin\x86\Debug\SeleniumTest.dll
[Informational] NUnit Adapter 3.10.0.21: Test discovery complete

Giải pháp (tạm thời):

  • Gỡ cài đặt bộ điều hợp NUnit 3.10 ...
  • Cài đặt bộ điều hợp NUnit VS 2.1 ..

Bây giờ các bài kiểm tra được hiển thị.


Vui lòng trích xuất câu hỏi mới (ít nhất là dường như) của bạn vào bài đăng của riêng mình để làm cho câu trả lời rõ ràng này :)
geisterfurz007

... Có tiêu đề "tại sao NUnit TestAd CHƯƠNG v3 không thấy các bài kiểm tra NUnit v2 của tôi? Và a) ping ở đây b) đặt một" xem thêm <link> "ở trên cùng (ngay cả khi nó hơi khó hiểu), nhưng tôi giống như câu trả lời này đã bị xóa vì nó không phù hợp với xUnit v2 teststiêu đề.
Ruben Bartelink

0

Đồng thời kiểm tra xem một tệp app.config hoàn toàn trống (hoàn toàn trống không có đánh dấu) có trong dự án thử nghiệm không. Đây là thủ phạm trong trường hợp của tôi.


0

Trong trường hợp của tôi, tôi đã tạo một "Cấu hình giải pháp" mới như thể hiện trong hình ảnh. Vì vậy, khi tôi chọn tùy chỉnh của mình là "Prod", nó không nhận ra TestMehods vì một số lý do. Thay đổi lại thành "Gỡ lỗi" giải quyết vấn đề

nhập mô tả hình ảnh ở đây


0

Tôi không biết nếu một số bạn cũng sử dụng JustMock, nhưng tôi đã phải vô hiệu hóa trình hồ sơ trong VS 2017 để phát hiện thử nghiệm hoạt động.


Hừm. Nếu bạn bật lại, nó có bị hỏng ngay lập tức không?
Ruben Bartelink

Vâng. Nếu tôi đóng giải pháp, bật trình hồ sơ và quay lại, phát hiện thử nghiệm thất bại.
chrisdrobison
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.