Các bài kiểm tra Đơn vị NUnit không hiển thị trong Test Explorer đã cài đặt Bộ điều hợp thử nghiệm


145

Tôi đã cài đặt Bộ điều hợp thử nghiệm NUnit cho VS2012 + 2013. Khi tôi cài đặt lần đầu tiên, các thử nghiệm Bộ điều hợp đã hiển thị, nhưng chúng đã ngừng hiển thị vì một số lý do ngày hôm nay. Sau khi xây dựng, xây dựng lại, làm sạch, khởi động lại, không có gì hiển thị trong Test Explorer. Tại sao điều này sẽ xảy ra? Tôi đang sử dụng VS2013 Ultimate.


2
Hãy thử nhấp chuột phải vào dự án thử nghiệm của bạn và sau đó nhấp vào chạy. Nó sẽ điền vào các cửa sổ với các bài kiểm tra một lần nữa.
Chase Florell

@ChaseFlorell thì không. Tôi thấy thanh màu xanh lục trong Test Explorer bắt đầu hoạt động và sau đó dừng một giây sau đó.
RobVious

Bạn có bất kỳ công cụ kiểm tra nào khác có thể can thiệp không? Tôi sử dụng R # để chạy thử nghiệm và tôi đang sử dụng VS2012, vì vậy tôi không đủ môi trường của bạn. Tôi biết rằng khi tôi đóng cửa sổ hoặc chạy một tập hợp nhỏ các bài kiểm tra, cây kiểm tra đầy đủ sẽ biến mất.
Chase Florell

Bạn có thể thử dỡ dự án thử nghiệm, xây dựng lại và sau đó tải lại ...
Chase Florell

@ChaseFlorell Tôi có R # nhưng nó chậm như mật đường với các bài kiểm tra NUnit ... và nó đã hoạt động trước đó thật là bực bội. Tôi sẽ thử dỡ hàng.
RobVious

Câu trả lời:


87

Nếu dự án thử nghiệm của bạn được đặt để nhắm mục tiêu nền tảng 64 bit, các thử nghiệm sẽ không hiển thị trong Bộ điều hợp thử nghiệm NUnit.


54
Có thể là nó cần khớp với kiến ​​trúc được chỉ định trong menu tại Kiểm tra -> Cài đặt kiểm tra -> Kiến trúc bộ xử lý mặc định
Brannon

6
@Brannon Nó làm. Nếu được đặt thành x64, các thử nghiệm trong các dự án x64 sẽ hiển thị.
Cơ bản

2
Một cái gì đó ngu ngốc hơn đã xảy ra ở đây - quên thêm thuộc tính [Test] vào phương thức thử nghiệm của tôi :)
Nikolai

Vấn đề này dường như vẫn còn trong bộ điều hợp thử nghiệm NUnit 3. Xem giải pháp của Simoyd về kiến ​​trúc bộ điều hợp thử nghiệm (x64 so với x86).
bart

1
Đây là một câu trả lời không chính xác. Để chạy thử nghiệm, chọn "Thử nghiệm" -> "Cài đặt thử nghiệm" -> "Kiến trúc bộ xử lý mặc định" -> "x64"
Andrew Rondeau

182

Nếu bạn đang sử dụng phiên bản NUnit3 + , có sẵn Bộ điều hợp thử nghiệm mới.

Chuyển đến "Công cụ -> Tiện ích mở rộng và cập nhật -> Trực tuyến" và tìm kiếm "Bộ điều hợp thử nghiệm NUnit3" rồi cài đặt.


Thêm +1 vì điều này cũng đã khắc phục sự cố với các số liệu Bảo hiểm Mã biến mất.
Aidanapword

Nếu proxy tường lửa đã chặn url thông qua Tiện ích mở rộng và Cập nhật thì hãy sử dụng url này để tải xuống bộ điều hợp. marketplace.visualstudio.com/ từ
Yawar Murtaza

Lưu ý rằng bạn cũng có thể cần phải tắt Bộ điều hợp thử nghiệm NUnit2.
Đánh dấu Pattison

Có gì khác biệt giữa lấy nó theo cách này và nhận nó từ trình quản lý gói NuGet?
octavian

Sử dụng NuGet, bạn sẽ có quyền truy cập vào api của nữ tu. Sử dụng cách này, bạn sẽ có thể chạy thử nghiệm trên Test Explorer (theo mặc định, nó chỉ chạy thử nghiệm MS).
Ricardo França

57

Lắp ráp thử nghiệm của tôi là 64-bit. Từ thanh menu ở đầu studio hình ảnh 2012, tôi có thể chọn 'Kiểm tra' -> 'Cài đặt kiểm tra' -> 'Kiến trúc bộ xử lý mặc định' -> 'X64'. Sau 'Giải pháp xây dựng lại' từ menu 'Xây dựng', tôi đã có thể xem tất cả các thử nghiệm của mình trong trình thám hiểm thử nghiệm. Hy vọng điều này sẽ giúp người khác trong tương lai = D.


3
Hãy chắc chắn rằng bạn kiểm tra kiến ​​trúc của các hội đồng và chương trình của bạn. Mặc dù nền tảng cho giải pháp hoặc dự án của bạn có thể được đặt rõ ràng thành x64, nhưng nếu kiến ​​trúc thử nghiệm của bạn không khớp, bạn sẽ gặp khó khăn khi chạy thử nghiệm.
Dodzi Dzakuma

30

Kiểm tra phiên bản NUnit không khớp. Bộ điều hợp thử nghiệm NUnit hiện có chỉ hoạt động cho phiên bản NUnit 2.6.4 trở xuống. Để hạ cấp NUnit từ phiên bản 3.x, hãy truy cập Gói Trình quản lý gói> gói cập nhật NUnit -version 2.6.4

http://jeremybytes.blogspot.co.ke/2015/11/review-of-unit-testing-makes-me-faster.html


6
Thưa ngài, đã giải quyết vấn đề của tôi một cách chính xác! Cảm ơn bạn! Có một gói nuget được gọi là NUnitTestAd Module.WIthFramework có tác dụng đối xử!
TheAkhemist

Tôi gặp vấn đề tương tự với các phiên bản NUnit không khớp. Một số (nhưng không phải tất cả) các thử nghiệm của tôi không hiển thị trong Test Explorer vì vậy tôi đã thử tất cả các loại đề xuất như cập nhật bộ điều hợp thử nghiệm NUnit. Trước đây tôi đã nâng cấp NUnit từ 3.6.1 lên 3.7.1 nhưng vì một số lý do, một trong những dự án của tôi vẫn tham khảo nunit.framework.dll phiên bản 3.6.1 trong khi mọi thứ khác đều tham khảo 3.7.1. Tôi đã cập nhật tham chiếu đến 3.7.1 và điều này đã thực hiện thủ thuật. Cho đến nay các bài kiểm tra của tôi đã không biến mất. Ngón tay đan chéo!
jrupe

23

Trong tình huống của tôi, 'Bộ điều hợp thử nghiệm NUnit3' đã bị vô hiệu hóa. Để kích hoạt lại nó vào menu

Công cụ-> Tiện ích mở rộng và cập nhật ...

Ở phía bên trái, chọn 'Đã cài đặt' -> 'Tất cả'.

Ở góc trên bên phải tìm kiếm 'nunit'.

Nếu bạn đã cài đặt 'Bộ điều hợp thử nghiệm NUnit3', với mục được tìm thấy, bạn có thể bật / tắt nó.

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


2
Đối với tôi điều này đã không làm việc. Đã thử gỡ cài đặt và nó giả vờ biến mất nhưng nó đã ở đó sau khi khởi động lại. Tôi nhận ra rằng tôi đã cài đặt NUnit như một người dùng chuẩn và sau đó thử gỡ cài đặt nó với tư cách Quản trị viên. VS không nói gì về điều này ... Vì vậy, giải pháp là thử kích hoạt nó mà không có đặc quyền của quản trị viên hoặc ngược lại.
Tom

10

Câu trả lời này có vẻ khá cơ bản nhưng ban đầu tôi không hoàn toàn rõ ràng. Nếu bạn (xây dựng lại) giải pháp, nó chỉ xây dựng các dự án được cấu hình để xây dựng trongBuild -> Configuration Manager

Đây là vấn đề của tôi, tôi đã vô tình thay đổi cài đặt cấu hình bản dựng hoặc thứ gì đó khiến các dự án thử nghiệm của tôi không được xây dựng (khi chúng trước đây). Vì vậy, Test Explorercửa sổ đã nhìn vào dlls đã lỗi thời. Tôi thấy rõ đây là trường hợp sau khi thực hiện Cleanvà thấy hầu hết các thử nghiệm của tôi biến mất và không quay trở lại sau khi rebuild... kiểm tra thêm về binthư mục cho thấy các dự án này hoàn toàn không được xây dựng.


Mặc dù tất cả các dự án đã được thiết lập để xây dựng trong Trình quản lý cấu hình, tôi phải xây dựng thủ công từng dự án thử nghiệm để làm cho các thử nghiệm hiển thị lại.
Noel Widmer

Tôi tự xây dựng các dự án thử nghiệm của mình. Thế là chưa đủ. Tôi đã phải làm những gì câu trả lời này nói.
Jared

10

Tôi đã có một thiết lập hoạt động (đối với NUnit2 và NUnit3 tùy thuộc vào giải pháp và nhiều phiên bản Visual Studio trong khoảng thời gian từ 2012 đến 2017) và nó đột nhiên ngừng hoạt động một ngày: không có thử nghiệm nào được phát hiện trong bất kỳ giải pháp hoặc phiên bản nào của VS.

Trong trường hợp của tôi, nó đã giúp xóa %localappdata%\Temp\VisualStudioTestExplorerExtensions. Sau khi khởi động lại VS, mọi thứ hoạt động như trước.


10

Nếu bạn đang sử dụng lõi VS 2017 và lõi .net , như đã nói ở đây , bạn nên thêm các tham chiếu vào khung kiểm tra NUnit 3.6.1 , cho trình chạy thử NUnit3TestAd CHƯƠNG 3.8.0-alpha1 và vào SDK thử nghiệm Microsoft.NET.Test.Sdk 15.0.0 .


3
Tôi không sử dụng .NET Core, nhưng cài đặt bộ điều hợp thử nghiệm NUnit khi tôi chuyển sang VS2017 đã giải quyết vấn đề cho tôi.
Ciaran Gallagher

8
  1. Công cụ
  2. Quản lý gói NuGet
  3. Quản lý gói NuGet cho giải pháp
  4. Duyệt
  5. NUnitTestAd CHƯƠNG.WithFramework
  6. Ctrl + R, A để xây dựng / chạy thử nghiệm

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

Sử dụng NUnitTestAd Module.WithFramework đảm bảo có ít / không có sự không nhất quán giữa các phiên bản của NUnit và NUnit Adaptor (tức là "nó chỉ hoạt động")


đối với tôi, nó bắt đầu hoạt động sau khi cập nhật bộ điều hợp lên NUnitAd Module3 (Menu VS -> Công cụ-> Tiện ích mở rộng và cập nhật ...) + cập nhật trang NuGet cho NUnit từ 2.6.3 đến 3.2.1. Xin cảm ơn!
nhàng

1
đây là điều duy nhất phù hợp với tôi - phải là "WithFramework" (không chỉ là bộ chuyển đổi tiêu chuẩn)
Mani5556

4

Kiểm tra xem bạn đã nêu [TestFixureSetUp] và [Test]

trong lớp kiểm tra

mẫu vật:

namespace ClassLibrary1
{
   public class SimpleCalculator
   {
      public Calculator _calculator;
      [TestFixtureSetUp]
      public void initialize()
      {
         _calculator = new Calculator();
      }
      [Test]
      public void DivideTest()
      {
         int a = 10;
         int b = 2;
         int expectedValue = a/b;
         int actualValue = _calculator.Divide(a, b);
         Assert.AreEqual(expectedValue, actualValue, "Functionality not working properly!");
      }
   }   
}

1
TestFixtureSetup dường như đã lỗi thời, tốt hơn là <NUnit.Framework.OneTimeSetUp>
Jochen

1

Tôi đã phải gỡ cài đặt sau đó cài đặt lại gói nuget xunit.runner.visualstudio . Tôi đã thử điều này sau khi thử tất cả các đề xuất trên, vì vậy có thể đó là một hỗn hợp của nhiều thứ.


1

Một nguyên nhân khác cho vấn đề này là nếu bạn mở một dự án từ một ổ đĩa được ánh xạ - Visual Studio xử lý các dự án đó đúng cách, nhưng rõ ràng Nunit không hỗ trợ chúng.

Sao chép dự án vào một vật lý đã khắc phục vấn đề.


0

Tôi cũng thấy rằng khi tôi gỡ cài đặt nunit v3.2.1, tham chiếu khung nunit cho v3.2.1 vẫn còn trong dự án của tôi trong trình thám hiểm giải pháp. Solution Explorer> ProjectName > Tài liệu tham khảo

Nếu bạn nhấp chuột phải, nó sẽ hiển thị phiên bản. Xóa cái này Sau đó nhấp chuột phải vào Tài liệu tham khảo> Thêm tài liệu tham khảo.

Tìm kiếm phiên bản 2.x và thêm sau đó xây dựng lại giải pháp.

Điều đó đã làm việc cho tôi!


0

Tôi đã trải qua vấn đề được đề cập bởi op

Trường hợp của tôi là tôi đã được giao một dự án cũ và các bài kiểm tra thực sự là một phần của hệ thống đang được thử nghiệm. Tôi giả sử họ đang sử dụng người chạy thử bên ngoài.

chuỗi nhiệm vụ này đã giải quyết vấn đề cho tôi

  • đã tạo một dự án thử nghiệm,
  • chuyển các tập tin thử nghiệm ở đó
  • thêm tài liệu tham khảo để dự án thử nghiệm sẽ biên dịch
  • đã thêm các gói NuGet của bộ chuyển đổi Nunit và Nunit vào dự án thử nghiệm
  • biên dịch lại

tôi đã có thể chạy thành công các bài kiểm tra Nunit.


0

Nếu bạn đang sử dụng TestCaseSourcethuộc tính, đảm bảo nguồn tồn tại và tôn trọng tài liệu , nếu không các thử nghiệm của bạn sẽ không được phát hiện.


0

Tôi đã có một vấn đề tương tự trong đó các bài kiểm tra mà không được phát hiện. Tôi đã có phiên bản chính xác của NUnit, các phiên bản khớp với nhau giữa NUnit và bộ điều hợp và các bài kiểm tra được gắn thẻ chính xác. Tôi đã chạy VS 2017 Enterprise không phải là quản trị viên. Sau khi bắt đầu VS với tư cách quản trị viên, các bài kiểm tra đã xuất hiện.


0

Tôi đã bắt đầu một giải pháp mới với một dự án thử nghiệm trong đó, và so sánh nó với dự án vấn đề ban đầu của tôi. Bản gốc, vì một số lý do, đã có app.config trong đó. Tôi loại trừ tệp đó khỏi dự án và thấy các thử nghiệm của tôi xuất hiện lại trong trình thám hiểm thử nghiệm.


0

Tôi cũng có vấn đề này nhưng nguyên nhân thì khác. Tôi đang sử dụng VS2017 với F # 4.0.

Thứ nhất, bảng điều khiển trong Visual Studio không cung cấp cho bạn đủ chi tiết tại sao các bài kiểm tra không thể tìm thấy; nó sẽ không tải được DLL với các bài kiểm tra. Vì vậy, sử dụng NUnit3console.exe trên dòng lệnh vì điều này cung cấp cho bạn thêm chi tiết.

Trong trường hợp của tôi, đó là do bộ điều hợp thử nghiệm đang tìm kiếm phiên bản mới hơn của F # Core DLL (4.4.1.0) (F # 4.1) trong khi tôi vẫn đang sử dụng 4.4.0.0 (F # 4.0). Vì vậy, tôi chỉ cần thêm nó vào app.config của dự án thử nghiệm: -

  <dependentAssembly>
    <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="4.4.0.0" />
  </dependentAssembly>

tức là chuyển hướng đến lõi F # trước đó.


0

Tôi gặp vấn đề tương tự, khi đột nhiên bất kỳ thử nghiệm nào không xuất hiện trên cửa sổ Test Explorer. Tôi có phiên bản cập nhật của "NUnit3TestAd CHƯƠNG"

và sau rất nhiều tìm kiếm và nỗ lực, tôi thấy rằng tôi cần đặt các giá trị sau trong thuộc tính dự án: [Trong cửa sổ Solution Explorer: nhấp chuột phải vào Project> Properties] Trong tab Build, đặt Platform = x64 và đặt Platform target = x86 hoặc Bất kỳ CPU Xây dựng dự án và tất cả các thử nghiệm sẽ xuất hiện trên cửa sổ Test Explorer.

Lưu ý quan trọng: Tôi đã đến một giải pháp sau khi thấy thông điệp tiếp theo trong cửa sổ đầu ra:

"Chạy thử sẽ sử dụng (các) DLL được xây dựng cho khung Framework45 và nền tảng X86. Sau đó, DLL (s) sẽ không phải là một phần của chạy: AutomaticTests.dll được xây dựng cho Framework Framework45 và Platform X64."


0

Tôi đã có một số quy trình msbuild.exe được treo. Tôi không biết đó có phải là vấn đề của mình hay không, nhưng tôi đã mất rất nhiều lỗi và lỗi khi cài đặt lại các bộ điều hợp NUnit khác nhau trước khi tôi tìm thấy các quy trình treo.


0

Chỉ cần thêm $ 0,02 của tôi vào đây, tôi đã gặp phải một vấn đề tương tự chỉ mới hôm qua, trong đó 168 bài kiểm tra của tôi bị mất. Tôi đã thử hầu hết mọi thứ trong bài đăng này - đặc biệt là đảm bảo (các) phiên bản NUnit của tôi giống nhau - tất cả đều vô ích. Sau đó tôi nhớ rằng tôi đã chia các bài kiểm tra của mình thành các danh sách phát; và chúng không tự động cập nhật khi bạn thêm các bài kiểm tra mới . Vì vậy, khi tôi xóa danh sách phát, BAM! , tất cả các bài kiểm tra của tôi đã trở lại một lần nữa.


-1

Hãy chắc chắn rằng các bài kiểm tra của bạn được đánh dấu đúng với thuộc tính Test. Nếu tất cả các thử nghiệm được đánh dấu chỉ bằng thuộc tính Explicit, TestAd CHƯƠNG không nhận ra vật cố định.

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.