Visual Studio 2015 hoặc 2017 không khám phá các bài kiểm tra đơn vị


165

EDIT 2016-10-19:

Câu hỏi ban đầu là về một vấn đề cụ thể đối với VS2015 CTP6 với người chạy thử XUnit. Rõ ràng từ các câu trả lời rằng có một vấn đề rộng lớn hơn nhiều với khám phá thử nghiệm đơn vị trong Visual Studio có thể xảy ra trong nhiều tình huống khác nhau. Tôi đã làm sạch câu hỏi của tôi để phản ánh điều đó.

Tôi cũng đã bao gồm một kịch bản trong câu trả lời của riêng tôi mà tôi vẫn sử dụng cho đến ngày nay để giải quyết các vấn đề tương tự khi chúng xuất hiện.

Nhiều câu trả lời khác cũng đã được chứng minh là hữu ích trong việc hiểu rõ hơn về sự phức tạp của người chạy thử nghiệm VS. Tôi đánh giá cao rằng mọi người vẫn đang chia sẻ giải pháp của họ!


Câu hỏi gốc 2015-04-10:

Kể từ hôm qua, Visual Studio Test Explorer của tôi sẽ không khám phá các thử nghiệm cho bất kỳ dự án nào của tôi. Nó cũng không hiển thị thanh tải màu xanh lá cây sau khi xây dựng.

Khi tôi truy cập Visual Studio Test Explorer và nhấp vào "Chạy tất cả" hoặc khi tôi nhấp chuột phải vào bất kỳ phương pháp kiểm tra nào và chọn "Chạy thử nghiệm", tôi nhận được thông tin sau trong cửa sổ đầu ra của mình:

Could not load file or assembly 'Microsoft.VisualStudio.Web.ProjectSystem, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.

Tôi đang chạy Visual Studio 2015 CTP 6 trên Windows 10 Pro kỹ thuật trước, xây dựng 10041. phiên bản .NET Framework dường như không quan trọng - nó sẽ xảy ra vào 4.0, 4.5.24.6.

Tôi đã thử với các khung kiểm tra sau và tất cả chúng đều có cùng một hành vi:

  • Microsoft.VisualStudio.QualityTools.UnitTestFramework v14.0.22609.0
  • xunit v2.1.0-beta1-build2945 với xunit.runner.visualstudio v2.1.0-beta1-build1051
  • NUnit v2.6.4 với NUnitTestAdapter v2.0.0

Tôi đã tìm thấy một vấn đề trên GitHub (xunit) có vẻ tương tự: Không thể có các bài kiểm tra được phát hiện # 295 , với nhận xét này từ nhóm xunit:

Xin lưu ý rằng Visual Studio 2015 CTP 5 đã được báo cáo là bị phá vỡ bởi nhiều người với thử nghiệm đơn vị nói chung (không chỉ xUnit.net), vì vậy đừng mong đợi nó hoạt động.

Ngoài ra, hãy đảm bảo bạn đã dọn sạch bộ đệm của người chạy bộ của Visual Studio. Nếu nó bị hỏng, Visual Studio sẽ hoạt động sai vĩnh viễn cho đến khi bị xóa. Để xóa bộ nhớ cache, 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 (thành thật mà nói, có lẽ sẽ không hại gì khi xóa mọi thứ trong% TEMP% có thể bị xóa).

Tôi đã thử đề nghị của họ để xóa thư mục %TEMP%\VisualStudioTestExplorerExtensions. Thật không may, điều đó đã không khắc phục vấn đề.

Tôi nhận thấy rằng ReSharper thực sự có thể phát hiện một số xét nghiệm. Nó chỉ hoạt động cho các thử nghiệm VS và NUnit, không phải cho xunit.

Phải có một số loại thư mục tạm thời hoặc bộ đệm tôi cần xóa, nhưng tôi biết Visual Studio có rất nhiều trong số chúng và không phải tất cả chúng đều có thể bị xóa mà không có tác dụng phụ không mong muốn.


3
Tôi rất vui vì tôi đã vấp phải điều này, nó nhắc tôi về lý do tại sao tôi sử dụng một người chạy thử nghiệm bên thứ 3 (trong trường hợp của tôi là ncrunch). Tôi đã từ bỏ mstest từ lâu vì những lý do tương tự. Tất nhiên, đó là không có giải pháp nếu bạn đang mắc kẹt với MSTest ...
Abel


với VS 2017, thật không thể tin được, việc dọn dẹp các thư mục liên quan đến temp và localappdata VS2017 của tôi, một giải pháp đóng + tải lại + sạch và khởi động lại Windows không giúp ích được gì. Tuy nhiên, thật đáng ngạc nhiên, một dự án "dỡ tải - tải lại" trên một trong những dự án thử nghiệm của tôi đã giúp phát hiện thử nghiệm ngừng treo. Tôi không sử dụng gói thử nghiệm đơn vị bên thứ 3.
Pac0

Đối với một số ppl, điều này có thể thú vị hoặc phù hợp hơn (Tôi không nghĩ mình nên thêm nó dưới dạng câu trả lời): Không có nguồn nào trong Test Explorer - github.com/Microsoft/testfx/issues/274
hB0

Đây có thể là bản sửa lỗi cho ai đó stackoverflow.com/a/58019304/1566372
Rady

Câu trả lời:


154

Thật ngạc nhiên, việc xóa các tập tin tạm thời nằm trong %TEMP%thư mục đã giải quyết vấn đề cho tôi.

Lưu ý: Đường dẫn này thường ở C:\Users\(yourusername)\AppData\Local\Temp

Khi bao gồm @ Warren-P, bạn có thể điều hướng đến thư mục tạm thời bằng cách đưa vào %temp%Menu bắt đầu hoặc khởi chạy "File Explorer" và nhập %temp%vào thanh địa chỉ.


30
Hoặc bạn chỉ cần nhập vào %TEMP%menu Start Run và nó sẽ tìm thấy thư mục tạm thời cho bạn mà bạn không đoán được giá trị của temp là gì.
Warren P

65
@ ZéCarlos Bất kỳ ứng dụng nào lưu trữ dữ liệu quan trọng trong %TEMP%thư mục đều xứng đáng ngừng hoạt động.
Mark Pattison

25
không phải là một điều đáng xấu hổ đối với bạn, đó là một thất bại hoàn toàn từ Microsoft khi bạn phải thực hiện các bước vô lý như vậy để duy trì hơn 1000 USD IDE.
MushyPeas

8
Làm việc cho tôi trong VS2017 là tốt!
Lorentz Vedeler

6
Nếu bạn lo lắng về việc xóa toàn bộ thư mục tạm thời, chỉ xóa thư mục con Temp \ VisualStudioTestExplorerExtensions dường như sẽ khắc phục sự cố.
Mike Walsh

90

Có thể là mã của bạn được biên dịch với x64 do đó phải kích hoạt Kiến trúc bộ xử lý mặc định là X64.

Test > Test Settings > Default Processor Architecture > X64

3
Điều này đã cắn tôi một vài lần. Ngay cả sau nhiều năm, tôi vẫn không thể nghĩ ra lý do chính đáng tại sao theo mặc định, các cài đặt kiểm tra không được chọn để tự động khớp với cấu hình bản dựng hiện tại của dự án. Có vẻ như cấu hình trùng lặp vô nghĩa với tôi.
Neutrino

1
Cập nhật Windows và / hoặc cập nhật VS thay đổi kiến ​​trúc mặc định mà không cho bạn biết .... aaargh
rupweb

Và 4 năm sau, điều này vẫn hữu ích. Cảm ơn
Oscar O.

67
  • Hãy xem, nếu Bộ điều hợp thử nghiệm NUnit 2/3 được cài đặt trong VisualStudio.
    (Tools>Extensions and Updates )

  • Đảm bảo rằng kiến ​​trúc bộ xử lý chính xác được chọn:
    (Test>Test Settings>Default Processor Architecture)


2
Đây là những gì cuối cùng đã làm việc cho tôi. Sau khi thử mọi thứ khác.
BradStell

Làm cho bạn cảm thấy như một kẻ ngốc đào xung quanh trong các thư mục tạm thời khi tiện ích mở rộng thậm chí không được cài đặt. Cảm ơn đã đăng bài này.
NightOwl888

2
Ngoài ra kiểm tra nếu bạn sử dụng phần mở rộng chính xác. Có một cái riêng cho NUnit 2.x và NUnit 3.x.
pmbanka

1
Khi bạn nhắm mục tiêu .NET Standard, bạn thực sự cần phải cài đặt gói NuGet NUnit Test Adaptor thay vì phần mở rộng VSIX. github.com/nunit/docs/wiki/.NET-Core-and-.NET-St
Chuẩn

Hãy thử lấy NUnit3TestAd CHƯƠNG từ nuget, thay vì VSIX. Đó là cách tiếp cận tốt hơn
ravella

33

EDIT 2016-10-19 (tập lệnh PowerShell)

Vấn đề này vẫn trở lại mỗi giờ và sau đó. Tôi đã viết một đoạn PowerShell nhỏ để tự động xóa các tệp / thư mục bộ nhớ cache / temp có liên quan cho tôi. Tôi đang chia sẻ nó ở đây cho độc giả tương lai:

@(
"$env:TEMP"
"$env:LOCALAPPDATA\Microsoft\UnitTest"
"$env:LOCALAPPDATA\Microsoft\VisualStudio\14.0\1033\SpecificFolderCache.xml"
"$env:LOCALAPPDATA\Microsoft\VisualStudio\14.0\1033\ProjectTemplateMRU.xml"
"$env:LOCALAPPDATA\Microsoft\VisualStudio\14.0\ComponentModelCache"
"$env:LOCALAPPDATA\Microsoft\VisualStudio\14.0\Designer\ShadowCache"
"$env:LOCALAPPDATA\Microsoft\VisualStudio\14.0\ImageLibrary\cache"
"$env:LOCALAPPDATA\Microsoft\VisualStudio Services\6.0\Cache"
"$env:LOCALAPPDATA\Microsoft\WebsiteCache"
"$env:LOCALAPPDATA\NuGet\Cache"
) |% { Remove-Item -Path $_ -Recurse -Force }

Đảm bảo đóng Visual Studio trước và có lẽ nên khởi động lại sau đó.

Xóa thư mục TEMP có thể không cần thiết và trong một số trường hợp thậm chí là không mong muốn, vì vậy tôi khuyên bạn nên thử mà không xóa thư mục TEMP trước. Chỉ cần bỏ qua "$env:TEMP".

Câu trả lời gốc 2015-04-12

Vấn đề đã được "giải quyết" sau khi làm sạch hoàn toàn các thư mục bộ đệm / bộ đệm tạm thời liên quan đến Visual Studio.

Vì tôi không có thời gian để trải qua từng thứ một và sau đó kiểm tra giữa chừng, tôi không may không biết cái nào thực sự gây ra vấn đề.

Đây là các bước chính xác tôi đã thực hiện:

  1. Đóng Visual Studio
  2. CCleaner đã sử dụng để xóa tempcác tập tin / thư mục hệ thống và trình duyệt
  3. Xóa / xóa thủ công các tệp / thư mục sau:

    • %USERPROFILE%\AppData\Local\assembly
    • %USERPROFILE%\AppData\Local\Microsoft\UnitTest
    • %USERPROFILE%\AppData\Local\Microsoft\VisualStudio\14.0\1033\SpecificFolderCache.xml
    • %USERPROFILE%\AppData\Local\Microsoft\VisualStudio\14.0\1033\ProjectTemplateMRU.xml
    • %USERPROFILE%\AppData\Local\Microsoft\VisualStudio\14.0\ComponentModelCache
    • %USERPROFILE%\AppData\Local\Microsoft\VisualStudio\14.0\Designer\ShadowCache
    • %USERPROFILE%\AppData\Local\Microsoft\VisualStudio\14.0\ImageLibrary\cache
    • %USERPROFILE%\AppData\Local\Microsoft\VisualStudio Services\6.0\Cache
    • %USERPROFILE%\AppData\Local\Microsoft\WebsiteCache
    • %USERPROFILE%\AppData\Local\NuGet\Cache
    • %USERPROFILE%\AppData\Local\Temp

Cảm ơn, đã làm việc cho tôi sau khi xóa các thư mục Microsoft \ VisualStudio \ 14.0 \ và Microsoft \ VisualStudio Services \ 6.0 \ Cache mà bạn mô tả.
Niels van Reijmersdal

Chắc chắn là bạn có ý nghĩa \Microsoft\VisualStudio\14.0\ImageLibrary\ImageLibrary.cache?
Mateen Ulhaq

2
Tôi có tất cả mọi thứ bị loại bỏ từ% TEMP% và nó không làm việc, nhưng khi tôi readd thư mục 'VisualStudioTestExplorerExtensions' (trống) công trình everywhing hoàn hảo :-) (Có anserw với giải pháp trên dưới cùng ở ngày hiện tại)
nilphilus

Tôi muốn xác nhận rằng giải pháp này hiệu quả với tôi với VS2015 Update 3 và Resharper 10. Nhưng bạn cần khởi động lại để thấy điều kỳ diệu
Quốc Nguyễn

1
Tôi chỉ xóa một tệp \ AppData \ Local \ Microsoft \ VisualStudio \ 14.0 \ 1033 \ Cụ
thểFolderCache.xml

21

Một lý do cho vấn đề này là lớp kiểm tra của bạn không công khai. MSTest chỉ khám phá các bài kiểm tra từ các lớp học công cộng.


1
Mặc dù điều này không đúng 100% và tôi đã có một lớp không công khai hoạt động tốt, nhưng đến một lúc nào đó, bài kiểm tra đơn vị của nó đã ngừng hoạt động. Khi tôi thay đổi lớp kiểm tra đơn vị thành công khai, nó bắt đầu hoạt động trở lại. Đi đi!
SashaArz

Điều này đã giải quyết nó cho tôi. Theo mặc định, Visual Studio thêm các lớp kiểm tra mà không có từ khóa công khai và nó sẽ không nhìn thấy chúng cho đến khi tôi công khai chúng.
Marc Fearby

13

Trong Visual Studio 2015 (Bản cập nhật 3) nếu bạn muốn đính kèm các bài kiểm tra trong trình khám phá thử nghiệm thì phải cài đặt Bộ điều hợp thử nghiệm NUnit . Tải xuống bộ điều hợp từ Công cụ-> Tiện ích mở rộng và cập nhật-> Trực tuyến (bạn phải tìm kiếm bộ điều hợp ) -> Tải xuống . Bằng cách khởi động lại Visual Studio, bạn có thể thấy sự thay đổi của khung thử nghiệm.


2
Theo hướng dẫn của bạn, tôi đã tìm kiếm "nunit" và tìm thấy "NUnit 3 Test Adapter", sau khi "Tải xuống" (cài đặt), đã giải quyết vấn đề của tôi. Tìm kiếm trên internet cho vấn đề này tìm thấy bài viết SO khác tại liên kết
Adam Cox

Điều này tốt hơn trình quản lý gói Nuget trong một số trường hợp vì nó không thay đổi các tệp cấu hình
GY_

1
@GY_ nhưng khi bạn nhắm mục tiêu .NET Core hoặc Standard, bạn thực sự cần gói NuGet, hãy kiểm tra câu trả lời của tôi dưới đây: stackoverflow.com/a/47460221/1137334
m93a

Bạn cứu lấy cuộc sống của tôi ! Cảm ơn, tôi đã thử rất nhiều giải pháp và nó không hoạt động. Của tôi là google thử nghiệm bộ chuyển đổi.
Erman

9

Tôi không có câu trả lời đầy đủ cho vấn đề này, nhưng tôi đã xác định một số điều bằng cách chơi với một dự án thử nghiệm:

  1. Cái xunit.runner.aspnet : 2.0.0-aspnet-beta4dường như là một phần của bản phát hành beta4 aspnet5 chính thức không hoạt động trong Visual Studio.
  2. Thay vào đó, sử dụng "xunit": "2.1.0-*""xunit-runner.dnx": "2.1.0-*"các gói DO hoạt động trong Visual Studio.
  3. Để VS khám phá các bài kiểm tra, dự án của bạn PHẢI có lệnh SINGLE có tên là "test" chạy "xunit.runner.dnx". Thêm các lệnh bổ sung có thể phá vỡ nó.
  4. Nếu cửa sổ Test Explorer của bạn vẫn kết thúc trống, hãy XÓA lệnh "test" khỏi dự án của bạn, sau đó xây dựng lại giải pháp, sau đó thêm lệnh "test" trở lại vào project.json.
  5. Xóa tất cả bộ nhớ cache của bạn theo đề xuất của @ Fred-Kleuver có thể giúp ích, nhưng tôi chưa thực hiện tất cả các bước trong sự cô lập, vì vậy tôi không chắc chắn.

Đây là bản hiện hành theo VS 2015 CTP 6, sử dụng bản phát hành beta4, không phải bản nhật báo.


1
Được rồi, tôi đã xác nhận (bằng cách nhờ đồng nghiệp dùng thử) rằng cách khắc phục ở trên không yêu cầu xóa bất kỳ bộ nhớ cache hoặc tệp tạm thời nào.
Avi Cherry

Ở trên có ghi "Thay vào đó, sử dụng" xunit ":" 2.1.0- "và" xunit-runner.dnx ":" 2.1.0- "các gói DO hoạt động trong Visual Studio.". Công việc này, cảm ơn!
Gillardo

Btw, như một phần tiếp theo, mọi thứ dường như hoạt động tốt trong VS 2015 như các phiên bản hiện tại. Không có phiền phức cần thiết để có được các bài kiểm tra mới để hiển thị hoặc bất cứ điều gì.
Avi Cherry

1
Cuối cùng, giờ đây đã có một hướng dẫn thích hợp từ MS về chính xác phiên bản xunit nào sẽ sử dụng với phiên bản nào của DNX, tại đây: xunit.github.io/docs/getting-started-dnx.html
Avi Cherry

9

Tôi đã có một ví dụ trong đó một số bài kiểm tra sẽ không được chọn vì tôi đã thực hiện chúng asyncnhư sau:

public async void This_IsMy_UnitTest()

Vấn đề là tôi đã quên làm cho họ trở lại Taskvà không phải voidkhi tôi thực hiện chuyển đổi. Người ta sẽ nghĩ rằng điều này sẽ gây ra lỗi hoặc thử nghiệm thất bại nhưng không. Các bài kiểm tra đơn vị trong lớp đó đã hoàn toàn bị bỏ qua và hành động như thể chúng không tồn tại.

Không phải sau khoảng 3 lần dọn dẹp và xây dựng + khởi động lại VS.NETtôi mới thấy chạy thử và thất bại cho thấy tôi đã quên thêm Taskkiểu trả về:

public async Task This_IsMy_UnitTest()

Sau khi cập nhật, các bài kiểm tra đơn vị đã được tìm thấy và hoạt động chính xác. Đây có thể là trường hợp cạnh, nhưng việc asynckiểm tra sử dụng awaitbên trong nhưng không có chữ ký chính xác có thể gây ra vấn đề tương tự và đây không phải là lần đầu tiên tôi thực hiện việc này.


Giải quyết vấn đề cho tôi!
Aimal Khan

8

Chuyển đến trình quản lý gói Nuget và tải xuống Bộ điều hợp Nunit như sau.

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


Cảm ơn bạn, trong trường hợp của tôi, tôi đã có NUnitTestAd CHƯƠNG thay vì NUnit3TestAd CHƯƠNG. Điều đó đã giải quyết vấn đề của tôi.
pixel

Việc thêm gói nuget NUnit3TestAd CHƯƠNG vào một giải pháp hoặc cho một dự án sẽ không khắc phục vấn đề cho tất cả các giải pháp khác nói chung, mà chỉ cho những giải pháp đã được thêm vào. Để làm điều đó nói chung cho tất cả các giải pháp / dự án, hãy thêm tiện ích mở rộng Bộ điều hợp thử nghiệm NUnit 3 vào phòng thu trực quan của bạn như được giải thích tại stackoverflow.com/a/45748818/1300390
Umar T.

6

Tôi đã có cùng một đại từ nhưng thư mục "% TEMP% \ VisualStudioTestExplorerExtensions" không tồn tại trên máy của tôi vì vậy khi tôi đọc các bài đăng tôi có ý tưởng để tạo ra nó và nó hoạt động. Trình thám hiểm thử nghiệm hiện có thể hiển thị tất cả các thử nghiệm của tôi. Cảm ơn.


6

Chỉ cần khởi động lại Visual Studio và trong Test Explorer thực hiện "Chạy tất cả" ... Tất cả các thử nghiệm của tôi được phát hiện ra sau đó.


1
Tôi cũng nhận thấy rằng chỉ cần đóng Test Explorer và mở lại và chọn Run All cũng hoạt động. Tôi không chắc nếu nó luôn hoạt động nhưng lần này nó hoạt động.
Giàu

5

Trong trường hợp của tôi (Visual Studio Enterprise 2015 14.0.25425.01 Cập nhật 3, Resharper 2016.2) Tôi chỉ cần thực hiện một giải pháp sạch từ menu Build. Xây dựng lại giải pháp sau đó làm cho trình thám hiểm thử nghiệm "thức dậy" và tìm lại tất cả các thử nghiệm.


5

Giải pháp trong trường hợp của tôi chỉ là cài đặt tiện ích mở rộng Bộ điều hợp thử nghiệm NUnit 3 cho Visual Studio 2015 của tôi.

'Tiện ích mở rộng và cập nhật' được trình bày dưới phần 'Công cụ'


Làm thế nào để câu trả lời của bạn thêm giá trị cho câu hỏi? bạn đa đọc chung chưa? Đã có hai câu trả lời đề xuất cùng một giải pháp: stackoverflow.com/a/41364951/6305294 , stackoverflow.com/a/35043380/6305294
Alex

2
Chà, tôi đã đọc cái đầu tiên (ví dụ stackoverflow.com/a/41364951/6305294) nhưng điều đó khác với câu trả lời của tôi vì đó là đề xuất thêm gói nuget Adaptor vào một giải pháp hoặc cho một dự án, điều này sẽ không khắc phục được vấn đề cho tất cả các giải pháp khác nói chung. Liên quan đến cái thứ hai, tôi thừa nhận tôi đã bỏ lỡ để xem nó. Có lẽ việc thêm một ảnh chụp màn hình sẽ giúp mắt bắt được khi có hai câu trả lời cho một câu hỏi
Umar T.

4

Trong trường hợp của tôi, vấn đề là "giữa ghế và bàn phím". Tôi đã chuyển sang cấu hình trong Trình quản lý cấu hình không bao gồm các dự án thử nghiệm đơn vị của tôi khi xây dựng. Chuyển về cấu hình (ví dụ: Gỡ lỗi) bao gồm tất cả các dự án đã khắc phục sự cố.


4

Trong trường hợp của tôi, MSTest theo VS 2015 đã bỏ qua các thử nghiệm với tên thử nghiệm (tức là phương thức) dài hơn 174 ký tự. Việc rút ngắn tên cho phép kiểm tra được hiển thị. Điều này được xác định thông qua đoán và kiểm tra bằng cách thao tác tên kiểm tra.


4

Điều này có thể sẽ không giúp được hầu hết mọi người, nhưng một người thiếu kinh nghiệm trong thử nghiệm đơn vị đã viết một phương pháp thử nghiệm boolthay vì void:

[TestMethod]
public bool TestSomething()

Thay đổi kiểu trả về để voidsửa lỗi.


Vẫn thú vị khi biết rằng việc trả về một loại ngăn cản phát hiện thử nghiệm, tôi không biết điều đó.
Fred Kleuver

3

Đảm bảo bạn có xunit.runner.visualstudiogói trong gói dự án thử nghiệm của bạn .config và cũng được khôi phục chính xác.

Tôi biết đây không phải là trường hợp của câu hỏi ban đầu tuy nhiên nó có thể tiết kiệm thời gian cho một người như tôi.


3

Tôi chỉ muốn nói thêm rằng tôi đã tìm thấy một giải pháp hoàn toàn khác với những giải pháp trên.

Tôi đã khai báo lớp kiểm tra của tôi như sau:

[TestClass]
class ClassificationTests
{
   //unit tests
}

Ngay sau khi tôi thêm công cụ publicsửa đổi vào lớp, nó đã hoạt động như mong đợi!


2

Nếu bạn đang nhắm mục tiêu .NET Standard hoặc .NET Core, bạn cần sử dụng gói NuGet cho Bộ điều hợp thử nghiệm NUnit chứ không phải phần mở rộng .

Bạn nên cài đặt bộ điều hợp từ NuGet nếu bạn đang thử nghiệm các dự án .NET Core hoặc .NET Standard. Bộ điều hợp VSIX không, và sẽ không hỗ trợ .NET Core vì các gói VSIX không thể nhắm mục tiêu nhiều nền tảng.

Nguồn: Wiki NUnit GitHub

.

Ngoài ra kiểm tra Câu hỏi thường gặp ở đó:

Các thử nghiệm của tôi không hiển thị trong Visual Studio 2017?

  • Bạn đang sử dụng gói NuGet?
  • Bạn đang sử dụng phiên bản 3.8.0 hoặc mới hơn của gói NuGet?
  • Các thử nghiệm của bạn nhắm mục tiêu .NET Core hoặc .NET Framework đầy đủ? (xem ở trên)
  • Bạn đã thêm một Tham chiếu gói cho Microsoft.NET.Test.Sdk chưa?
  • Bạn đã khởi động lại Visual Studio chưa? Nó vẫn hơi nóng tính.

Nguồn: Wiki NUnit GitHub



1

Tôi đã từng gặp vấn đề tương tự. Tôi chỉ cần làm sạch và xây dựng lại dự án và tôi đã có thể thấy các bài kiểm tra còn thiếu.


1

Xuất hiện để chia sẻ giải pháp của tôi. Tôi đã dùng Windows 10, Visual Studio 2015, NUnit 3.5, NUnit Test Adapter 3.6 (thông qua NuGet, không phải phần mở rộng VISX) và không có bài kiểm tra nào của tôi được phát hiện. Vấn đề của tôi là trong dự án Thử nghiệm giải pháp của tôi, bằng cách nào đó, một lối tắt đến thư mục "Tài liệu" của tôi đã được tạo trong thư mục dự án. Tôi đoán bộ điều hợp thử nghiệm đã nhìn thấy phím tắt và bị treo lên khi cố gắng tìm hiểu phải làm gì với nó, dẫn đến việc không hiển thị các bài kiểm tra đơn vị.


1

Xóa tệp \ AppData \ Local \ Microsoft \ VisualStudio \ 14.0 \ 1033 \ Cụ thểFold‌ erCache.xml đã giải quyết vấn đề cho tôi.


1

Chủ đề này có phần lỗi thời, nhưng giải pháp của tôi cho trạng thái Kiểm tra bị thiếu trong VS2015:

Trạng thái tác vụ chỉ hiển thị trên cấu hình gỡ lỗi. Tất nhiên, điều này cũng khiến bạn không thể gỡ lỗi bài kiểm tra của mình thông qua trình khám phá thử nghiệm.


1

Tôi cũng bị cắn bởi tính năng nhỏ tuyệt vời này và không có gì được mô tả ở đây làm việc cho tôi. Mãi đến khi tôi kiểm tra kỹ sản lượng xây dựng và nhận thấy rằng các dự án thích hợp chưa được xây dựng. Một chuyến thăm quản lý cấu hình đã xác nhận sự nghi ngờ của tôi.

Visual Studio 2015 đã vui vẻ cho phép tôi thêm các dự án mới nhưng quyết định rằng nó không đáng để xây dựng chúng. Khi tôi thêm các dự án vào bản dựng, nó bắt đầu chơi độc đáo.


1

Tôi đã giải quyết nó bằng cách thay đổi X64 thành: Nhấp chuột phải vào dự án -> Thuộc tính -> Xây dựng -> Mục tiêu nền tảng -> Bất kỳ CPU nào


1

Bằng cách nào đó, dự án của tôi đã được thiết lập để biên dịch thành Thư viện tĩnh (.lib) . Sau khi thay đổi thư mục này thành Thư viện động (đậm) , các bài kiểm tra được Visual Studio 2012 phát hiện chính xác.

My Unit Test Project ->
Properties ->
Configuration Properties ->
General ->
Configuration Type

1

Thật dễ dàng cho tôi để khắc phục vấn đề như:

  • Chọn dự án thử nghiệm đơn vị của bạn
  • Nhấp vào nút 'Hiển thị tất cả các tệp' trong Solution Explorer và các tệp tạm thời mới xuất hiện trong cây tệp của Solution Explorer trong 'obj \ x86 \ Debug'.
  • Xóa các tập tin tạm thời và xây dựng lại dự án.
  • Đã thử để chạy thử nghiệm và làm việc!.

1

Chúng tôi đã có cùng một vấn đề. Chúng tôi có một giải pháp VS 2015 lớn với nhiều dự án C # trong đó và thậm chí nhiều dự án thử nghiệm hơn.

Phát hiện thử nghiệm của Resharper chỉ hoạt động tốt, nhưng VS Test Explorer đã thất bại thảm hại.

Hóa ra các dự án không có cùng phiên bản MsTest TestFramework và TestAd CHƯƠNG, và đôi khi họ sử dụng NuGets và các tài liệu tham khảo cũ tốt khác, và điều đó không được hỗ trợ rõ ràng (rất nhiều cho một IDE đắt tiền như vậy).

Xóa tất cả các tham chiếu Microsoft.VisualStudio.Test * và sau đó thêm / cập nhật hai MSTest NuGets đã khắc phục sự cố.


1

Tôi đã giải quyết vấn đề này bằng cách nhận ra rằng Khung mục tiêu cho dự án thử nghiệm của tôi khác với dự án đang thử nghiệm. Có, tôi đã gây ra sự cố này bằng cách thay đổi khung đích từ mặc định (Dự án> Thuộc tính> Ứng dụng), nhưng đã thất bại với vấn đề này đối với dự án thử nghiệm, được tạo ra vài tuần sau đó. Sự không phù hợp không gây ra lỗi trình biên dịch, nhưng nó đã dẫn đến một cảnh báo trong cửa sổ Danh sách Lỗi . Khi tôi chọn tùy chọn hiển thị cảnh báo, giải pháp là hiển nhiên.

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.