Không tìm thấy bài kiểm tra nào. Đảm bảo rằng trình phát hiện và người thực thi thử nghiệm đã cài đặt, cài đặt phiên bản nền tảng và khuôn khổ là phù hợp và thử lại


95

Tôi đang trong quá trình nâng cấp giải pháp hiện có của chúng tôi lên .Net 4.6.1 và không thể chạy các bài kiểm tra đơn vị của chúng tôi trong quá trình xây dựng máy chủ. Tại địa phương, chúng chạy như mong đợi và việc chuyển phiên bản khuôn khổ trở lại .Net 4.5.1 khiến chúng chạy lại trên máy chủ.

Tôi nhận được lỗi sau:

Không tìm thấy bài kiểm tra nào. Đảm bảo rằng trình phát hiện và người thực thi thử nghiệm đã cài đặt, cài đặt phiên bản nền tảng và khuôn khổ là phù hợp và thử lại.

Tôi đã tái tạo sự cố trong một thiết lập đơn giản hơn:

  • Giải pháp với một dự án C # Unit Test duy nhất với hai bài kiểm tra (một bài không đạt, một bài đạt).
  • Định nghĩa bản dựng XAML sử dụng Mẫu mặc định (TfvcTemplate.12.xaml)
  • TFS 2015 Cập nhật 1 Máy chủ xây dựng XAML với Visual Studio Enterprise 2015 Cập nhật 1 được cài đặt (có sáu máy chủ tương tự và tất cả đều tạo ra cùng một kết quả)

Theo Brian Harry từ Microsoft, đây là lỗi mà họ hiện đang điều tra. Nó sẽ được sửa trong Bản cập nhật 2 và giải pháp tạm thời sẽ được đăng sau. Nguồn: link
Tore Østergaard

Tôi có cùng một vấn đề đối với Net 3.5 SP1 trong Visual Studio 2013 Update 5.
Andrey Bushman

@AndreyBushman: Lỗi cũng có thể xảy ra trong 2013U5 vì nó được phát hành cùng với 2015RTM. Nhưng giải pháp thay thế cũng sẽ hoạt động trong trường hợp của bạn.
Tore Østergaard,

Tôi đã gặp sự cố tương tự, cách giải quyết chỉ đơn giản là trong vs, trong cài đặt thử nghiệm, để chọn đúng bit bộ xử lý mặc định (32/64) và không giữ cho động cơ hoạt động. (so với 2017.x)
kfn

Câu trả lời:


59

Bạn có thể thử thay đổi kiến trúc bộ xử lý mặc định của mình trong Cài đặt kiểm tra từ X86 sang X64. Trong trường hợp của tôi, đây là vấn đề.

Điều này xảy ra nếu mục tiêu nền tảng của dự án đang thử nghiệm của bạn được đặt thành x64.

Ảnh chụp màn hình cài đặt kiểm tra


Điều này đã giải quyết nó cho tôi. Trong trường hợp của tôi, cả dự án đang được thử nghiệm và dự án thử nghiệm đều được đặt thành x86. Các thử nghiệm không thể thay đổi được nhưng không chạy được. Sau khi tôi thay đổi nó thành Bất kỳ CPU, các bài kiểm tra đã chạy.
datchung

Tôi vừa gặp vấn đề tương tự và điều này đã giải quyết nó. Tôi cũng khá nghi ngờ rằng điều này có thể đã có tác động tổng hợp không tốt đối với các tham chiếu dự án chính của tôi, điều này đột ngột dừng tải một DLL cụ thể, nhưng chưa xác định được tác dụng phụ khó chịu này.
Allen

44

Bản dựng của tôi cũng không tìm thấy các bài kiểm tra. Thiết lập và giải pháp của tôi để tìm kiếm các bài kiểm tra như sau.

Tôi sử dụng VSTS (Visual Studio Team Services) và có một bản dựng được định cấu hình để làm mới các gói NUGET trên mọi bản dựng. Tôi đang sử dụng NUnit và nhận thấy rằng việc chạy lệnh NUGET sau (từ bảng điều khiển trình quản lý gói trong Visual Studio) để thêm thư viện NUnitTestAdapter vào dự án thử nghiệm của mình và việc kiểm tra trong package.config đã thực hiện các bài kiểm tra trong bản dựng VSTS của tôi.

Install-Package NUnitTestAdapter

Như Maurice đã đề cập trong Bình luận cho bài đăng này cho NUnit3, hãy sử dụng gói NUGET sau (Tìm các utils khác trên liên kết. dụ: dotnet CLI và Paket CLI)

Install-Package NUnit3TestAdapter

Hi vọng điêu nay co ich.


10
Tôi hiện cũng đang sử dụng VSTS. Như được khuyến cáo, tôi đã thêm NUnit3TestAdapter (vì tôi đang sử dụng NUnit 3.8.1) và giải pháp này đã giải quyết được vấn đề của tôi. Cảm ơn bạn :-)
Maurice Klimek

1
Install-Package NUnit3TestAdapter đã giải quyết được vấn đề của tôi :)
Bimal Das

26

Trong trường hợp của tôi, phải:

1) chuyển đổi proj thử nghiệm thành netcore 2.0 (là net tiêu chuẩn 2.0)

2) thêm gói nuget xunit.runner.visualstudio

Tham khảo: http://www.neekgreen.com/2017/11/20/xunit-no-test-is-available/


2
cùng một vấn đề với tôi. Tôi đang sử dụng xunit với .net core
Amna,

Điều này cũng làm việc cho tôi trong Visual Studio 2017 với xunit và .NET Core 2.1.
Thorkil Værge

3
trong trường hợp của tôi là một dự án .net 4.6.1 nên thứ duy nhất còn thiếu là xunit runner. Đã cài đặt nó và hoạt động.
Juan

1
Giống như Juan. Chỉ có gói Á hậu bị thiếu. Chạy điều này trong trình quản lý gói cho dự án thử nghiệm đã giải quyết được nó: install-package xunit.runner.visualstudio
Premil

11

Tôi gặp lỗi này và có thể giải quyết nó.

  1. Tôi sử dụng Visual Studio Professional 2017
  2. Trong VS, tôi đã điều hướng đến Công cụ -> Tiện ích mở rộng và Cập nhật
  3. Ở đầu menu, tôi nhận thấy rằng bộ điều hợp NUnit của tôi đã bị tắt
  4. Tôi đã nhấp vào nút [Bật]
  5. Tôi đã có thể bắt đầu kiểm tra mà không có lỗi.

Đúng! Và đừng quên khởi động lại Visual Studio. Đó là yêu cầu đối với tôi.
Michael Levy

"Ở đầu menu" có nghĩa là gì?
Sean Kendle 23/02/19

1
@SaiyajinGohan. Sau khi bạn hoàn thành bước 2, cửa sổ "Tiện ích mở rộng và Cập nhật" sẽ xuất hiện. Ở đầu cửa sổ này, tôi thấy bộ điều hợp NUnit đã bị tắt. Hy vọng điều này làm rõ ....
J Wood

Cảm ơn vì điều đó, tôi vẫn không thể làm cho điều này hoạt động với dự án tôi đang thực hiện. May mắn thay, đó là một dự án thử nghiệm và dự án tiếp theo đã hoạt động. Vẫn là một bí ẩn là tại sao.
Sean Kendle

10

Tôi đang sử dụng MSTest. Đối với tôi, đó là phiên bản không khớp và thiếu một gói phụ thuộc khác -

1) Thư mục gói của tôi chỉ chứa gói MSTest.TestFramework.1.2.1. Trong tệp dự án của tôi (.csproj), tham chiếu trong Tên đích là gói MSTest.TestAdapter.1.2.0 không có trong thư mục gói. Package.config của tôi cũng có tham chiếu của MSTest.TestFramework.1.2.0.

2) Vì vậy, tôi đã cài đặt MSTest.TestAdapter.1.2.0 từ trình quản lý gói nuget và căn chỉnh phiên bản MSTest.TestFramework thành 1.2.0 trong tệp dự án và gói. Cuối cùng, tôi thêm Microsoft.VisualStudio.TestPlatform.TestFramework và Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions trong tài liệu tham khảo.

Sau đó mọi thứ đều ổn. Hy vọng điều này sẽ giúp ai đó.


Tôi đã gặp phải điều này với .Net 4.6.1 VS2017. Tôi đã kết thúc việc quay trở lại 1.2.0 - chắc chắn đảm bảo rằng bạn không có hai phiên bản khác nhau trong thư mục gói của mình hoặc trong kiểm soát nguồn.
Jeremy Thompson

2
Của tôi dường như đã tìm thấy các bài kiểm tra, nhưng có, thiếu "MSTest.TestAdapter" mới là vấn đề thực sự. Không có lỗi hay cảnh báo nào (VS2017 15.8). Tất cả đều tốt ngoại trừ không tìm thấy bài kiểm tra nào, mặc dù đã xuất hiện trong trình khám phá thử nghiệm ..... Vì vậy, khi tôi thực hiện "cài đặt gói MSTest.TestAdapter" đột nhiên các bài kiểm tra của tôi chạy như mong đợi. Cảm ơn MS - 3 giờ lãng phí ...........
James Joyce

1
Cài đặt MSTest.TestAdapter 1.4.0 đã làm điều đó cho tôi vào VS 2019. Tôi chỉ lãng phí 30 phút nhờ bạn.
furman87

6

Sự cố này lại xuất hiện cho Visual Studio 2017. Nhiều khả năng là một lỗi khác nhưng kết quả tương tự.

Một giải pháp có vẻ hiệu quả là gỡ cài đặt Microsoft Visual Studio 2017 Remote Debugger khỏi máy bị ảnh hưởng.


5
  1. Cài đặt Nunit và NUnitTestAdapter phiên bản mới nhất từ ​​gói NUGET.
  2. Đi tới -> Kiểm tra -> Cài đặt kiểm tra -> Kiến trúc bộ xử lý mặc định -> Thay đổi thành X64
  3. Xây dựng giải pháp.
  4. Điều này sẽ giải quyết vấn đề Run Test và Debugger trong kiểm thử đơn vị và nó sẽ bắt đầu hoạt động.

Điều này thực sự có hiệu quả với tôi sau khi đập đầu vào rất nhiều hướng và đề xuất.
rajibdotnet

4

Tôi gặp phải vấn đề tương tự trong VSTS với .Net 4.6.2. Nếu bạn thấy điều này từ đầu ra bảng điều khiển VSTS của mình, thì giải pháp được cung cấp bởi @Sushil vẫn hoạt động trong VSTS và cần thiết. Thật không may, nhiệm vụ "Test Assemblies" do Microsoft cung cấp đã vượt qua, vì vậy bạn thực sự không biết có vấn đề gì trừ khi bạn kiểm tra kết quả đầu ra và không thấy bài kiểm tra nào của bạn thực sự được thực thi!

Sửa lỗi kiểm tra VSTS


Sự cố của tôi là với Bản cập nhật 1 TFS 2015 (tại chỗ) và nó đã được khắc phục với Bản cập nhật 2. Tôi không chắc liệu vấn đề tương tự có tồn tại / tồn tại với VSTS hay không.
Tore Østergaard

4

Nếu bạn đang chạy thử nghiệm bên trong docker bằng cách sử dụng xây dựng nhiều tầng và không tìm thấy các thử nghiệm. Đảm bảo rằng bạn sao chép tất cả các tệp chứ không chỉ các tệp dự án như phần Dockerfile bên dưới.

FROM mcr.microsoft.com/dotnet/core/sdk:2.2-stretch AS build
WORKDIR /src
COPY ["MainProject/FirstApp.csproj", "MainProject/"]
COPY ["TestProject/*", "TestProject/"]

RUN dotnet restore "TestProject/TestProject.csproj"
RUN dotnet build "TestProject/TestProject.csproj" -c Release
RUN dotnet test "TestProject/TestProject.csproj" -c Release

Điều này đã thực sự cắn tôi. Tôi nghĩ manh mối cho thấy điều này đang xảy ra là nó TÌM DLL thử nghiệm đơn vị, nhưng nó KHÔNG tìm thấy bất kỳ thử nghiệm nào trong đó. Tôi cũng nhận thấy rằng việc đặt nội tuyến này sau các câu lệnh sao chép của bạn sẽ cho phép bạn kiểm tra xem cái gì ĐÃ được sao chép (tại đây / app / tests là thư mục đích của bạn trên hình ảnh Docker): RUN file = "$ (ls -al / app / tests) "&& echo $ file (xem bài đăng này để biết thêm thông tin về echo )
David Yates

3

Tôi đã khắc phục sự cố này theo vấn đề trong dự án thử nghiệm VS 2017 & 4.6.2 với các bước sau:

  1. Xóa các tham chiếu đến Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll và các phần mở rộng
  2. Cài đặt gói phần mềm Microsoft.VisualStudio.QualityTools.UnitTestFramework.Updated nuget

3

Đảm bảo rằng bạn đã cài đặt nuget "Microsoft.NET.Test.Sdk".


2

Đây là sự cố đã biết đối với .Net 4.6 bây giờ.

Không thể chạy thử nghiệm đơn vị .Net 4.6.x như một phần của XAML TFS Build with TFS 2015 UPdate1 Nguồn: https://connect.microsoft.com/VisualStudio/feedback/details/2245723

Đây là một câu hỏi tương tự để bạn tham khảo: Không thể chạy .Net 4.6 Unit tests của TFS 2015 XAML build server


2
Chào Patrick. Cả hai liên kết bạn cung cấp đều là trường hợp do tôi mở, vì vậy tôi sẽ không tin tưởng chúng làm tài liệu tham khảo ;-).
Tore Østergaard

2

Tôi cố định vấn đề này bằng cách cài đặt lại tất cả các thử nghiệm liên quan đến gói NuGet cho dự án: Xunit, Xunit.runner.vistualstudio,Microsoft.Net.Test.Sdk


1

Tôi đã gặp sự cố tương tự và nhận thấy bằng cách nào đó một app.configtệp đã được thêm vào dự án thử nghiệm của tôi. Xóa tệp cấu hình này đã sửa nó cho tôi.


1

Tôi sẽ ném giải pháp của tôi lên đống. Trong trường hợp của tôi, tôi đang thêm một vài dự án vào giải pháp hiện có cùng với các dự án Thử nghiệm cho chúng. Chúng tôi đang sử dụng MSTest. Đã có tệp UnitTest.testsettings trước đó được bật trên giải pháp gây ra sự cố tương thích.

Nhấp vào tệp cài đặt đã xóa kiểm tra và chạy thử nghiệm thành công cho các thử nghiệm của tôi.

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


1

Tìm cách! Có lẽ không phải là chính thống nhất nhưng nó đã giúp tôi nhanh chóng:

  1. Cập nhật gói MSTest.TestAdapter và MSTest.TestAdapterFramework lên 1.4.0 từ Công cụ> Trình quản lý gói NuGet.
  2. Làm sạch dung dịch và chạy thử nghiệm lại.

Tôi không nghĩ là có gì đặc biệt với phiên bản, nhưng việc cập nhật nó chắc chắn sẽ làm sạch mọi tham chiếu không tốt trong giải pháp / dự án.


0

Đây chỉ là để tóm tắt lại giải pháp do @Sushil đưa ra trước đó.

Đây là sự cố đã biết trong Team Foundation Server 2015 RTM + Update 1 và sẽ được khắc phục trong Bản cập nhật 2, tham khảo .

Có một giải pháp được mô tả bởi @Sushil ở đây , bao gồm thêm tệp .runsettings buộc trình chạy thử nghiệm vào khung công tác .Net cũ hơn (vui lòng không chỉ định nó thông qua hộp thoại "Thêm / Chỉnh sửa Chạy thử nghiệm" khi thêm trực tiếp trong trình soạn thảo quy trình xây dựng sẽ bị bỏ qua).


0

Sử dụng .Net Core với đường dẫn xây dựng trong TFS 2017, bước Kiểm tra Visual Studio của tôi đã trôi qua mà không thực sự thực hiện bất kỳ kiểm tra nào. Phải chỉnh sửa bước, "Tùy chọn thực thi nâng cao" -> "Tùy chọn bảng điều khiển khác" để bao gồm:

/framework:".NETCoreApp,Version=v2.0"

(Trường đó cũng chứa /platform:x64)


0

Trong Visual Studio 2017, tôi chỉ cần gỡ cài đặt và cài đặt lại NUnitTestAdapter hoặc cài đặt gói mới như gói NUnitTestAdapter.WithFramework và sự cố đã biến mất.


0

Tôi gặp lỗi này vì lớp kiểm tra Đơn vị của tôi không được công khai.

Ví dụ:

class ClientTests

Lỗi trong đầu ra:

...\bin\Debug\Tests.dll] UTA001: TestClass attribute defined on non-public class ClientTests

Điều chỉnh:

public class ClientTests


0

Tôi gặp vấn đề tương tự. Tôi đang sử dụng Visual Studio 2017 Community Edition.

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

Tôi đã sử dụng các bước sau để khám phá thành công tất cả các trường hợp thử nghiệm của mình và chạy thành công:

  • Đầu tiên, hãy chuyển đến Phần mở rộng và Cập nhật, cài đặt Bộ điều hợp thử nghiệm NUnit3. Nếu bạn đã có, chỉ cần kích hoạt nó.

  • Khởi động lại Visual Studio 2017 của bạn, nó sẽ tự động nhắc
    cài đặt tiện ích mở rộng của bạn, nếu lời nhắc kết thúc tác vụ để tiếp tục
    cài đặt, chỉ cần nhấp vào "Kết thúc tác vụ".

  • Sau đó, xây dựng lại Dự án thử nghiệm của bạn và tất cả các trường hợp thử nghiệm bây giờ sẽ được xác định và bây giờ bạn có thể bắt đầu chạy các trường hợp thử nghiệm của mình.


0

Trong trường hợp của tôi, Cài đặt lại Bộ điều hợp Nunit3, Xóa thư mục tạm thời, Thay đổi kiến ​​trúc và không có gì hoạt động. Đó là do Daemon Resharper gây ra vấn đề.

Add or Remove Programs> Find Resharper > Repair > Install again > Restart VS 

Điều đó giải quyết các vấn đề.


0

Lỗi này có thể xảy ra đối với các bài kiểm tra không đồng bộ nếu bạn có kiểu trả về sai. Kiểu trả về phải là Task, và không void.


0

Sau khi thêm TestAdapterPath trong chỉ huy, nó hoạt động với tôi:

vstest.console.exe Xom.Gci.Lvf.FileParserInvoker.UnitTests.dll /TestAdapterPath:"C:\****\****\{SolutionFolder}"

Điều đầu tiên, bạn nên đảm bảo rằng trường hợp thử nghiệm có thể được chạy trong VS IDE.
dixiashi

0

Trong trường hợp của tôi, các bài kiểm tra đã được phát hiện nhưng đang chạy dẫn đến "Kiểm tra không khả dụng ... " và (trong) nổi tiếng: "Hãy đảm bảo rằng người phát hiện và người thực thi kiểm tra đã được đăng ký và cài đặt phiên bản nền tảng & khuôn khổ phù hợp và thử lại."

lỗi độc lập với Visual Studio (được kiểm tra từ các công cụ dotnet CLI và kiểm tra UNit gần như không có) và nó chỉ xảy ra khi nhắm mục tiêu .NET 4.7.1. ứng dụng dotnetcore hoạt động tốt.

cũng chạy thử nghiệm với Nuint3 CLI nunit3-console.exe Tests.csprojcho thấy lỗi:

"Một trong hai lắp ráp không có thử nghiệm hoặc trình điều khiển thử nghiệm thích hợp không được tìm thấy."

lỗi là do không thể tìm thấy bộ điều hợp thử nghiệm trên ổ đĩa mạng (được ánh xạ) hoặc chia sẻ và đã được giải quyết bằng cách sao chép cục bộ và chạy lại.


0

nếu bạn đã cài đặt bộ điều hợp thử nghiệm trong dự án thử nghiệm, thì hãy thử gỡ cài đặt khỏi dự án và cài đặt lại vào dự án thử nghiệm.

Bản sửa lỗi cơ bản này phù hợp với tôi.


0

Thử chạy vstest.console.exevới --diag:diag.txtvà kiểm tra đầu ra. Đối với tôi, đó là lỗi tải DLL cho các bộ điều hợp thử nghiệm từ thư mục làm việc của tôi:

TpTrace Information: 0 : 14976, 1, 2020/03/10, 15:34:22.120, 57158093583, vstest.console.exe, AssemblyResolver.OnResolve: Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter: Failed to load assembly. Reason:System.IO.FileLoadException: Could not load file or assembly 'file:///C:\Directory\Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)

File name: 'file:///C:\Directory\Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll' ---> System.NotSupportedException: An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework. This release of the .NET Framework does not enable CAS policy by default, so this load may be dangerous. If this load is not intended to sandbox the assembly, please enable the loadFromRemoteSources switch. See http://go.microsoft.com/fwlink/?LinkId=155569 for more information.

Tôi làm việc này bằng cách thêm <loadFromRemoteSources enabled="true"/>thuộc <runtime>trong vstest.console.exe.config


0

Tôi sử dụng MSTest.

Tôi đã cài đặt từ Nuget phiên bản mới nhất của MSTest.TestFramework và thay thế OOB Xóa tham chiếu đến Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll

Sau đó, được cài đặt từ phiên bản mới nhất của Microsoft.TestPlatform

Nó cho phép tôi chạy thử nghiệm với một lệnh:

".\packages\Microsoft.TestPlatform.16.6.1\tools\net451\Common7\IDE\Extensions\TestPlatform\vstest.console.exe" "UnitTestProject1\bin\Debug\UnitTestProject1.dll" /logger:trx

Nhưng tôi cũng mắc phải lỗi tương tự. Nguyên nhân gốc rễ của lỗi mà tôi không chỉ định bộ điều hợp thử nghiệm phân tích cú pháp lắp ráp và tìm các thử nghiệm.

Giải pháp:

  1. Cài đặt gói nuget "MSTest.TestAdapter"

  2. Chỉ định bộ điều hợp thử nghiệm ở cuối lệnh:

    /TestAdapterPath:".\packages\MSTest.TestAdapter.2.1.2\build_common "


0

Đối với những người đang gặp phải vấn đề tương tự, đây là giải pháp, hãy cài đặt SpecFlowPlusRunner.

Tôi đã thử các giải pháp khác như cài đặt lại, xóa bộ nhớ cache, v.v. Nhưng giải pháp thực sự khác, chúng tôi cần Cài đặt SpecRun.SpecFlow2.3.0 cho visualstudio 2017. Điều này đã giải quyết được vấn đề.

Hy vọng điều này sẽ giúp mọi người.


0

Tôi đã gặp phải vấn đề tương tự khi thử nUnit trong VS 2017 và nó không phải là một dự án cốt lõi. Cài đặt đã NUnit3TestAdapterkhắc phục sự cố.

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.