Test bulunamadı. Kurulu test bulucuların ve uygulayıcıların, platform ve çerçeve sürüm ayarlarının uygun olduğundan emin olun ve tekrar deneyin


101

Mevcut çözümümüzü .NET 4.6.1'e yükseltme sürecindeyim ve birim testlerimizi bir sunucu oluşturma sırasında çalıştırmayı başaramadım. Yerel olarak beklendiği gibi çalışırlar ve çerçeve sürümünü .Net 4.5.1'e geri döndürmek, sunucuda yeniden çalışmasını sağlar.

Aşağıdaki hatayı alıyorum:

Test bulunamadı. Kurulu test kaşiflerinin ve uygulayıcılarının, platform ve çerçeve sürüm ayarlarının uygun olduğundan emin olun ve tekrar deneyin.

Sorunu daha basit bir kurulumda yeniden oluşturdum:

  • İki testli (biri başarısız, biri başarılı) tek bir C # Birim Testi projesiyle çözüm.
  • Varsayılan Şablonu (TfvcTemplate.12.xaml) kullanarak XAML derleme tanımı
  • TFS 2015 Güncelleştirme 1 XAML derleme sunucusu, Visual Studio Enterprise 2015 Güncelleştirme 1 yüklüdür (altı benzer sunucuya sahiptir ve tümü aynı sonucu üretir)

Microsoft'tan Brian Harry'ye göre, bu şu anda araştırdıkları hata. Güncelleme 2'de düzeltilmeli ve daha sonra geçici bir çözüm gönderilmelidir. Kaynak: bağlantı
Tore Østergaard

Visual Studio 2013 Güncelleme 5'te .Net 3.5 SP1 için de aynı sorunu yaşıyorum.
Andrey Bushman

@AndreyBushman: Hata, 2015RTM ile birlikte piyasaya sürüldüğü için 2013U5'te de olabilir. Ancak geçici çözüm sizin durumunuzda da çalışmalıdır.
Tore Østergaard

Benzer bir sorun yaşadım, geçici çözüm, test ayarları altında, doğru varsayılan işlemciyi (32/64) biti seçmek ve motoru çalıştırmamak için basitçe vs idi. (2017.x'e kıyasla)
kfn

Yanıtlar:


2

Bu artık .Net 4.6 için bilinen bir sorundur.

TFS 2015 UPdate1 ile XAML TFS Derlemesinin bir parçası olarak .Net 4.6.x birim testleri çalıştırılamıyor Kaynak: https://connect.microsoft.com/VisualStudio/feedback/details/2245723

İşte referans için benzer bir soru: TFS 2015 XAML derleme sunucusunun .Net 4.6 Birim testleri çalıştırılamıyor


3
Merhaba Patrick. Sağladığınız her iki bağlantı da benim tarafımdan açılan davalar, bu yüzden referans olarak onlara güvenmem ;-).
Tore Østergaard

60

Test Ayarınızdaki varsayılan işlemci mimarinizi X86'dan X64'e değiştirmeyi deneyebilirsiniz . Benim durumumda sorun buydu.

Bu, test edilen projenizin platform hedefi olarak ayarlanmışsa gerçekleşir x64.

Test ayarlarının ekran görüntüsü


Bu benim için çözdü. Benim durumumda, hem test edilen proje hem de test projesi x86 olarak ayarlandı. Testler devre dışı bırakılabilir ancak çalıştırılamadı. Herhangi bir CPU olarak değiştirdikten sonra testler yapıldı.
datchung

Ben de aynı sorunu yaşadım ve bu onu çözdü. Ayrıca, bunun ana proje referanslarım üzerinde kötü bir negatif sinerjik etkiye sahip olabileceğinden de oldukça şüpheliyim, bu da belirli bir DLL'yi yüklemeyi aniden durdurdu, ancak bu kötü yan etkiyi kesin olarak belirleyemedi.
Allen

45

Yapım da testleri bulamıyordu. Testleri bulmak için kurulumum ve çözümüm aşağıdaki gibidir.

VSTS (Visual Studio Team Services) kullanıyorum ve her derlemede NUGET paketlerini yenilemek için yapılandırılmış bir yapıya sahibim. NUnit kullanıyorum ve test projeme NUnitTestAdapter kitaplığı eklemek için aşağıdaki NUGET komutunu (Visual Studio'daki paket yöneticisi konsolundan) çalıştırdığımı ve packages.config dosyasındaki denetimin VSTS yapımda çalıştırdığını buldum.

Install-Package NUnitTestAdapter

Maurice'in NUnit3 için bu gönderinin Yorumunda bahsettiği gibi, aşağıdaki NUGET paketini kullanın (Bağlantıdaki diğer araçları arayın. Yani: dotnet CLI ve Paket CLI)

Install-Package NUnit3TestAdapter

Bu yardımcı olur umarım.


10
Ayrıca şu anda VSTS kullanıyorum. Önerildiği gibi NUnit3TestAdapter ekledim (NUnit 3.8.1 kullandığım için) ve bu çözüm sorunumu çözdü. Teşekkür ederim :-)
Maurice Klimek

1
Install-Package NUnit3TestAdapter sorunumu çözdü :)
Bimal Das

27

Benim durumumda yapmak zorundaydım:

  1. Test projesini netcore 2.0'a dönüştür (netstandard 2.0'dı)

  2. Nuget paketi ekle xunit.runner.visualstudio

Referans: http://www.neekgreen.com/2017/11/20/xunit-no-test-is-available/


3
aynı sorun bende oldu. .Net çekirdekli xunit kullanıyorum
Amna

Bu, xunit ve .NET Core 2.1 ile Visual Studio 2017'de benim için de çalıştı.
Thorkil Værge

4
benim durumumda bir .net 4.6.1 projesiydi, bu yüzden eksik olan tek şey xunit çalıştırıcıydı. Yükledim ve çalıştı.
Juan

1
Juan ile aynı. Sadece koşucu paketi eksikti. Bunu test projesi için paket yöneticisinde çalıştırmak sorunu çözdü: install-package xunit.runner.visualstudio
Premil

13

MSTest kullanıyorum. Benim için bu, sürüm yanlış eşleşmesiydi ve başka bir bağımlı paket eksikti -

1) Paket klasörüm yalnızca MSTest.TestFramework.1.2.1 paketini içeriyor. Proje dosyamda (.csproj) Hedef Adındaki referans, paket klasöründe bulunmayan MSTest.TestAdapter.1.2.0 paketiydi. Package.config’imde ayrıca MSTest.TestFramework.1.2.0 referansı da var.

2) Bu yüzden nuget paket yöneticisinden MSTest.TestAdapter.1.2.0'ı kurdum ve MSTest.TestFramework sürümünü proje ve paket dosyasında 1.2.0'a hizaladım. Son olarak referansa Microsoft.VisualStudio.TestPlatform.TestFramework ve Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions ekliyorum.

Sonra her şey yolundaydı. Umarım bu birine yardımcı olur.


Net 4.6.1 VS2017 ile buna rastladım. 1.2.0'a geri döndüm - kesinlikle paketler klasörünüzde veya kaynak kontrolünde iki farklı sürümün olmadığından emin olun.
Jeremy Thompson

2
Benimki testleri bulmuş gibi görünüyordu, ama evet, "MSTest.TestAdapter" eksikti asıl sorun. Hoş bir hata veya uyarı yok (VS2017 15.8). Test gezgininde görünmesine rağmen hiçbir test bulunamadı dışında hepsi iyi görünüyordu ..... Yani "MSTest.TestAdapter kurulum paketi" yaptığımda testlerim beklendiği gibi çalıştı. Teşekkürler MS - 3 saat boşa gitti ...........
James Joyce

1
MSTest.TestAdapter 1.4.0'ı yüklemek benim için VS 2019'da yaptı. Senin sayende sadece 30 dakikamı boşa harcadım.
furman87

11

Bu hatayı aldım ve çözmeyi başardım.

  1. Visual Studio Professional 2017 kullanıyorum
  2. VS'de Araçlar -> Uzantılar ve Güncellemeler'e gittim
  3. Menünün en üstünde, NUnit adaptörümün devre dışı bırakıldığını fark ettim
  4. [Etkinleştir] düğmesine tıkladım
  5. Testleri hatasız başlatabildim.

Evet! Ve Visual Studio'yu yeniden başlatmayı unutmayın. Bu benim için gerekliydi.
Michael Levy

"Menünün en üstünde" bu ne anlama geliyor?
Sean Kendle

1
@SaiyajinGohan. 2. adımı tamamladıktan sonra, "Uzantılar ve Güncellemeler" penceresi görünür. Bu pencerenin üst kısmında NUnit adaptörünün devre dışı bırakıldığını gördüm. Umarım bu açıklığa kavuşur ....
J Wood

Bunun için teşekkürler, üzerinde çalıştığım projede hala bunu çalıştıramadım. Neyse ki bu bir test projesiydi ve sonraki proje işe yaradı. Nedeniyle ilgili hala bir muamma.
Sean Kendle

6

Bu sorun, Visual Studio 2017 için yeniden ortaya çıkıyor. Büyük olasılıkla başka bir hata ama aynı sonuç.

İşe yarayan bir çözüm, Microsoft Visual Studio 2017 Remote Debugger'ı etkilenen makineden kaldırmaktır.


5

VSTS'de .Net 4.6.2 ile aynı problemle karşılaştım. Bunu VSTS konsol çıktınızda görüyorsanız, @Sushil tarafından sağlanan geçici çözüm hala VSTS'de çalışıyor ve gereklidir. Ne yazık ki, Microsoft tarafından sağlanan "Test Montajları" görevi başarılı oluyor, bu nedenle çıktıyı kontrol edip testlerinizden hiçbirinin gerçekten yürütüldüğünü bulmadıkça bir sorun olduğunu bile bilmiyorsunuz!

VSTS Test Düzeltmesi


Sorunum (şirket içi) TFS 2015 Güncelleme 1 ile ilgiliydi ve Güncelleme 2 ile düzeltildi. Aynı sorunun VSTS ile mevcut olup olmadığından emin değilim.
Tore Østergaard

5
  1. NUGET paketinden Nunit ve NUnitTestAdapter son sürümünü yükleyin.
  2. -> Test -> Test Ayarları -> Varsayılan işlemci mimarisi -> X64'e Değiştir seçeneğine gidin
  3. Çözümü oluşturun.
  4. Bu, birim testinde Çalıştırma Testi ve Hata Ayıklayıcı sorununu çözecek ve çalışmaya başlayacaktır.

Bu aslında kafamı birçok yöne ve öneriye vurduktan sonra benim için çalıştı.
rajibdotnet

4

Testlerinizi docker içinde çok aşamalı yapı kullanarak çalıştırıyorsanız ve testler bulunmaz. Aşağıdaki Dockerfile bölümündeki gibi sadece proje dosyalarını değil tüm dosyaları kopyaladığınızdan emin olun.

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

Bu gerçekten beni ısırdı. Sanırım bunun olduğu ipucu, birim test DLL'sini BULDUĞU, ancak içinde herhangi bir test bulamadı. Ayrıca, kopya ifadelerinizden sonra bunu satır içine koymanın, neyin kopyalandığını görmek için incelemenizi sağlayacağını buldum (burada / app / testler, Docker görüntüsündeki hedef dizininizdir): RUN file = "$ (ls -al / app / testler) "&& echo $ dosya (echo hakkında daha fazla bilgi için bu gönderiye bakın )
David Yates

3

Bunu VS 2017 ve 4.6.2 test projesinde aşağıdaki adımlarla düzelttim:

  1. Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll ve uzantılara yönelik başvuruları kaldırın
  2. Microsoft.VisualStudio.QualityTools.UnitTestFramework.Updated nuget paketini yükleyin

3

"Microsoft.NET.Test.Sdk" nuget'in yüklü olduğundan emin olun.


3

Ben proje için Nuget paketleri ile ilgili tüm test yeniden yükleyerek bu sorunu giderilmiştir: Xunit, Xunit.runner.vistualstudio,Microsoft.Net.Test.Sdk


1

Benzer bir sorunla karşılaşıyordum ve bir şekilde app.configtest projeme bir dosya eklendiğini fark ettim . Bu yapılandırma dosyasını kaldırmak onu benim için düzeltti.


1

TFS 2017'de bir derleme işlem hattı ile .Net Core kullanarak, Visual Studio Test adımım aslında herhangi bir test yürütmeden geçiyordu. Aşağıdakileri eklemek için "Gelişmiş Yürütme Seçenekleri" -> "Diğer konsol seçenekleri" adımını düzenlemeliydim:

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

(Bu alan ayrıca içerir /platform:x64)


1

Bu hatayı aldım çünkü Unit test sınıfım herkese açık değildi.

Ör:

class ClientTests

Çıktıda Hata:

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

Düzeltme:

public class ClientTests


1

Çözümümü yığının üzerine atacağım. Benim durumumda var olan bir çözüme birkaç proje ve onlar için Test projeleri ekliyorum. MSTest kullanıyoruz. Uyumluluk sorunlarına neden olan çözümde etkinleştirilen önceki bir UnitTest.testsettings dosyası vardı.

Ayarlar dosyasına tıklamak kontrolü kaldırdı ve testlerim için test çalıştırması başarılı oldu.

görüntü açıklamasını buraya girin


1

Bir yol buldum! Muhtemelen en ortodoks değil ama acelemde bana yardımcı oldu:

  1. Araçlar> NuGet Paket Yöneticisi'nden MSTest.TestAdapter ve MSTest.TestAdapterFramework paketlerini 1.4.0'a güncelleyin.
  2. Çözeltiyi temizleyin ve testleri tekrar çalıştırın.

Sürümle ilgili özel bir şey olduğunu düşünmüyorum, ancak onu güncellemek, çözüm / projede kötü olan referansları kesinlikle temizler.


0

Bu daha önce @Sushil tarafından öne sürülen çözümü özetlemek içindir.

Bu, Team Foundation Server 2015 RTM + Güncelleme 1'de bilinen bir sorundur ve Güncelleme 2, referans ile düzeltilecektir .

@Sushil tarafından açıklanan bir çözüm yoktur burada doğrudan ekleyerek gibi eski .Net çerçevesine kuvvetler Test koşucusu (sahip olduğunuz "Add / Edit Testi Çalıştır" iletişim aracılığıyla belirtmek için değil, lütfen bir .runsettings dosyayı ekleyerek içerir, derleme işlemi düzenleyicisinde göz ardı edilecektir).


0

Visual Studio 2017'de NUnitTestAdapter'ı kaldırıp yeniden kuruyorum veya NUnitTestAdapter.WithFramework paketi gibi yeni bir paket kuruyorum ve sorun ortadan kalkıyor.


0

Ben de aynı sorunu yaşıyorum. Visual Studio 2017 Community Edition kullanıyorum.

görüntü açıklamasını buraya girin

Tüm test durumlarımı başarıyla keşfetmek ve başarıyla çalıştırmak için şu adımları kullandım:

  • Önce Uzantılar ve Güncellemeler'e gidin, NUnit3 Test Adaptörünü kurun. Zaten sahipseniz, etkinleştirin.

  • Visual Studio 2017'nizi yeniden başlatın, otomatik olarak
    uzantınızı yüklemenizi isteyecektir , bir komut istemi
    yüklemeye devam etmek için görevi bitirmenizi söylüyorsa "Görevi Sonlandır" ı tıklamanız yeterlidir.

  • Bundan sonra, Test Projenizi yeniden oluşturun ve artık tüm test olayları tanımlanacak ve şimdi test durumlarınızı çalıştırmaya başlayabilirsiniz.


0

Benim durumumda Nunit3 Adaptörünü Yeniden Yükleme, Geçici klasörleri silme, Mimariyi değiştirme ve hiçbir şey işe yaramadı. Soruna Daemon Resharper neden oldu.

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

Bu sorunları çözer.


0

Yanlış dönüş türüne sahipseniz bu hata zaman uyumsuz testlerde ortaya çıkabilir. Dönüş türü Görev olmalı ve void olmamalıdır.


0

Komutana TestAdapterPath'i ekledikten sonra benim için çalıştı:

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

İlk olarak, test olayının VS IDE'de çalıştırılabileceğinden emin olmalısınız.
dixiashi

0

Benim durumumda testler keşfedildi, ancak yürütülüyor "Test Kullanılamıyor ... " ve (in) ünlü: "Test keşfinin ve uygulayıcılarının kayıtlı olduğundan ve platform ve çerçeve sürüm ayarlarının uygun olduğundan emin olun ve tekrar deneyin."

hata Visual Studio'dan bağımsızdı (dotnet CLI araçlarından ve neredeyse çıplak UNit testinden test edildi) ve yalnızca .NET 4.7.1 hedeflenirken oldu. dotnetcore uygulaması iyi çalışıyor.

Nuint3 CLI ile testler de çalıştırıyor nunit3-console.exe Tests.csproj da hatayı gösterir:

"Her iki montajda test yok veya uygun test sürücüsü bulunamadı."

hata, test adaptörünün (eşlenmiş) bir ağ sürücüsünde veya paylaşımda bulunamaması ve yerel olarak kopyalayıp yeniden çalıştırarak çözülmesiydi .


0

Koşmayı dene vstest.console.exe ile --diag:diag.txtve çıkış kontrol edin. Benim için çalışma dizinimdeki test bağdaştırıcıları için DLL yükleme hataları:

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.

Ben ekleyerek bu çalıştı <loadFromRemoteSources enabled="true"/>altında <runtime>vstest.console.exe.config içinde


0

MSTest kullanıyorum.

Nuget'ten MSTest.TestFramework'un en son sürümünü yükledim ve OOB'yi değiştirdim Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll referanslarını kaldır

Daha sonra Microsoft'un en son sürümü olan neget'ten yüklendi.

Bir komutla testi çalıştırmama izin verdi:

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

Ama aynı hatayı aldım. Montajı ayrıştıran ve testleri bulan bir test bağdaştırıcısı belirtmediğim hatanın temel nedeni.

Çözüm:

  1. Bir nuget paketi "MSTest.TestAdapter" yükleyin

  2. Bir komutun sonunda bir test adaptörü belirtin:

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


0

VS 2017'de nUnit'i denediğimde benzer sorunla karşılaştım ve bu çekirdek bir proje değil. Yükleme NUnit3TestAdaptersorunu çözdü.


0

Projeme ( https://www.nuget.org/packages/NUnit3TestAdapter/ ) NUnit3TestAdapter NuGet yükleyerek bu sorunu çözdüm .

dotnet add package NUnit3TestAdapter --version 3.17.0

Benim .Csproj dosyası

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.7.1" />
    <PackageReference Include="NUnit" Version="3.12.0" />
    <PackageReference Include="NUnit3TestAdapter" Version="3.17.0" />
    <PackageReference Include="RestSharp" Version="106.11.7" />
  </ItemGroup>

</Project>

0

Bu soru açıkça bir dizi senaryoya sahip kişiler tarafından bulunmakta, cevabım Azure DevOps üzerinde derleme işlem hattı kullanarak bir .NET Core projesinde XUnit testlerini çalıştırmayı kapsayacak , ancak başkalarına da yardımcı olabilir.

  • Bu yanıta göre nuget'ten XUnit test adaptörlerinin kurulduğundan emin olun .
  • Oluşturduğunuz yapı boru hattı için YAML olarak, eklemek otherConsoleOptions: '/framework:.NETCoreApp,Version=v3.1'için inputssenin ait VSTest@2(NET Çekirdek kullandığınız ne olursa olsun sürümüne sürüm numarası seti ile) aşama. Daha fazla bilgi için bu belgelere bakın .
  • Bu zorunlu failOnMinTestsNotRun: trueolmasa da, sıfır test çalıştırılırsa derleme işlem hattının bir hata bildirmesi için eklemeyi de öneririm .
  • Bu noktada bir derleme çalıştırırsanız, testlerinizin çalıştığını ancak ardışık düzenin hata verdiğini görebilirsiniz The library 'hostpolicy.dll' required to execute the application was not found. Sen varsayılan Filtrenizi değiştirerek bu çözebilir **\*test*.dlliçin **\*test.dll(Kaldırılan yıldız işaretine dikkat edin) veya test projenin DLL maç olacak diğer bazı deseni. Bunun nedeni, XUnit'in bu github sorunundatesthost.dll açıklandığı gibi çıktı dizinine çağrılan bir dosya yerleştirmesidir .

Yaml kullanmayan eski boru hatlarını kullanıyorsanız, aynı seçenekler mevcut olmalıdır. Bu cevap , çerçeveyi eklemeyi kapsar, ayrıca "Minimum sayıda test çalıştırılmazsa görevde başarısız olma" veya benzeri bir seçenek olacağını varsayıyorum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.