Visual Studio 2015 veya 2017 birim testlerini bulamıyor


165

2016-10-19 DÜZENLEME:

Orijinal soru, XUnit test çalıştırıcısı ile VS2015 CTP6'ya özgü bir sorunla ilgiliydi. Yanıtlardan, Visual Studio'da birçok farklı durumda ortaya çıkabilecek birim test keşfi ile ilgili çok daha geniş bir sorun olduğu açıktır. Bunu yansıtmak için sorumu temizledim.

Ben de kendi cevaplarıma bir komut dosyası ekledim, ben hala ortaya çıktıklarında benzer sorunları çözmek için bu güne kullandım.

Diğer birçok cevabın VS test koşucusunun inceliklerini daha iyi anlamada da yararlı olduğu kanıtlanmıştır. İnsanların çözümlerini hala paylaştıklarını takdir ediyorum!


Orijinal soru 2015-04-10:

Dünden beri, Visual Studio Test Gezgini projelerimin hiçbiri için testler bulamayacak. Binadan sonra yeşil yükleme çubuğunu da göstermez.

Visual Studio Test Gezgini'ne gidip "Tümünü Çalıştır" ı tıklattığımda veya herhangi bir test yöntemini sağ tıklatıp "Testleri Çalıştır" ı seçtiğimde, çıkış penceremde aşağıdakileri alıyorum:

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.

Ben, Windows 10, Visual Studio 2015 CTP 6 çalıştırıyorum Pro Teknik Önizleme, 10041. .NET Framework sürüm önemli görünmüyor inşa - bu olur 4.0, 4.5.2ve 4.6.

Aşağıdaki test çerçeveleri ile denedim ve hepsi aynı davranışı veriyor:

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

GitHub'da (xunit) benzer gibi görünen bir sorun buldum: xunit ekibinden gelen bu yorumla # 295 keşfedilen testler alınamıyor:

Visual Studio 2015 CTP 5'in genel olarak birim testi olan (yalnızca xUnit.net değil) birçok kişi tarafından bozulduğu bildirildiğinden, bunun çalışmasını beklemeyin.

Ayrıca, lütfen Visual Studio'nun koşucu önbelleğini temizlediğinizden emin olun. Bozulursa, Visual Studio silinene kadar kalıcı olarak yanlış davranır. Önbelleği temizlemek için Visual Studio'nun tüm örneklerini kapatın ve sonra% TEMP% \ VisualStudioTestExplorerExtensions klasörünü silin (dürüst olmak gerekirse, muhtemelen% TEMP% içindeki silinebilecek her şeyi silmek zarar vermez).

Klasörü silmek için önerilerini denedim %TEMP%\VisualStudioTestExplorerExtensions. Ne yazık ki bu sorunu çözmedi.

Ben ReSharper aslında fark olduğu bazı testler keşfetmek mümkün. Xunit için değil, yalnızca VS ve NUnit testleri için çalışır.

Temizlemem gereken bir çeşit temp veya önbellek klasörü olmalı, ancak Visual Studio'nun çoğuna sahip olduğunu ve hepsinin istenmeyen yan etkiler olmadan silinebileceğini biliyorum.


3
Bunun üzerine tökezlediğim için çok memnunum, bana neden 3. taraf test koşucusu kullandığımı hatırlatıyor (benim durumumda ncrunch). Benzer nedenlerle uzun zaman önce mstest'ten vazgeçtim. Tabii ki, eğer mstest ile sıkışıp kalırsanız bu bir çözüm değildir ...
Abel


VS 2017 ile, inanılmaz derecede, temp ve localappdata VS2017 ile ilgili klasörlerin temizlenmesi, kapat + yeniden yükle + temiz bir çözüm ve bir Windows yeniden başlatması yardımcı olmadı. Ancak, şaşırtıcı bir şekilde, test projelerimden sadece birindeki bir "boşaltma - yeniden yükleme" projesi, test keşfinin asılı durmasına yardımcı oldu. Üçüncü taraf birim test paketini kullanmıyorum.
Pac0

Bazı ppl için bu ilginç veya daha alakalı olabilir (Bir cevap olarak eklemeliyim sanmıyorum): Test Gezgini'nde Kaynak Yok - github.com/Microsoft/testfx/issues/274
hB0

Bu birisi için bir düzeltme olabilir stackoverflow.com/a/58019304/1566372
Rady

Yanıtlar:


154

Şaşırtıcı bir şekilde, %TEMP%dizinde bulunan geçici dosyaları temizlemek benim için sorunu çözdü.

Not: Bu yol genellikle C:\Users\(yourusername)\AppData\Local\Temp

@ Warren-P dahil olduğu gibi, %temp%Başlat Menüsüne koyarak geçici klasöre gidebilir veya "Dosya Gezgini" ni başlatabilir %temp%ve adres çubuğuna girebilirsiniz .


30
Veya %TEMP%Start Run menüsüne yazmanız yeterlidir ve temp değerinin ne olduğunu tahmin etmeden temp klasörünüzü sizin için bulur.
Warren P

65
@ ZéCarlos Önemli verileri %TEMP%dizinde saklayan herhangi bir uygulama çalışmayı durdurmayı hak eder.
Mark Pattison

25
sizin için bir utanç değil, Microsoft'un 1000'den fazla USD IDE'nin çalışmasını sağlamak için bu kadar saçma adımlar atmanız gerektiği çok büyük bir başarısızlıktır.
MushyPeas

8
VS2017 de benim için çalıştı!
Lorentz Vedeler

6
Tüm geçici dizini temizleme konusunda endişeleriniz varsa, yalnızca Temp \ VisualStudioTestExplorerExtensions alt dizinini temizlemek sorunu çözüyor gibi görünüyor.
Mike Walsh

90

Kodunuz x64 ile derlenmiş olabilir, bu nedenle Varsayılan İşlemci Mimarisini X64 olarak etkinleştirmeniz gerekebilir.

Test > Test Settings > Default Processor Architecture > X64

3
Bu beni birkaç kez ısırdı. Bunca yıldan sonra bile, varsayılan olarak test ayarlarının projenin mevcut yapı yapılandırmasıyla otomatik olarak eşleşmemesi için iyi bir neden düşünemiyorum. Bana anlamsız yinelenen yapılandırma gibi geliyor.
Neutrino

1
Windows güncellemesi ve / veya VS güncellemesi size söylemeden varsayılan mimariyi değiştirir .... aaargh
rupweb

Ve 4 yıl sonra, bu hala yardımcı olur. Teşekkürler
Oscar O.

67
  • Visual Studio'da NUnit Test Adapter 2/3 yüklü olup olmadığını kontrol edin .
    (Tools>Extensions and Updates )

  • Doğru işlemci mimarisinin seçildiğinden emin olun:
    (Test>Test Settings>Default Processor Architecture)


2
Sonunda benim için işe yarayan buydu. Her şeyi denedikten sonra.
BradStell

Uzatma yüklü olmadığında önce geçici klasörlerde kazı yapmak sizi aptal gibi hissettirir. Bunu gönderdiğiniz için teşekkürler.
NightOwl888

2
Ayrıca doğru uzantıyı kullanıp kullanmadığınızı da kontrol edin. NUnit 2.x ve NUnit 3.x için ayrı bir tane var.
pmbanka

1
.NET Standard'ı hedeflerken , aslında VSIX uzantısı yerine NuGet paketi NUnit Test Bağdaştırıcısını yüklemeniz gerekir . github.com/nunit/docs/wiki/.NET-Core-and-.NET-Standard
m93a

VSIX yerine NUnit3TestAdapter'ı nuget'ten almaya çalışın. Bu daha iyi bir yaklaşım
ravella

33

EDIT 2016-10-19 (PowerShell betiği)

Bu sorun ara sıra devam ediyor. İlgili önbellek / geçici klasörü / dosyaları temizlemeyi otomatikleştirmek için küçük bir PowerShell snippet'i yazdım. Gelecekteki okuyucular için burada paylaşıyorum:

@(
"$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 }

Visual Studio'yu önceden kapattığınızdan emin olun ve muhtemelen daha sonra yeniden başlatmak iyi bir fikirdir.

TEMP klasörünü silmek gerekli olmayabilir ve bazı durumlarda istenmeyen bile olabilir, bu yüzden önce TEMP klasörünü temizlemeden denemenizi tavsiye ederim. Sadece atla"$env:TEMP" .

Orijinal cevap 2015-04-12

Sorun, Visual Studio ile ilgili geçici / önbellek klasörleri kapsamlı bir temizlendikten sonra "çözüldü".

Her şeyi tek tek inceleyip aralarında test etmek için zamanım olmadığından, maalesef hangisinin soruna gerçekten neden olduğunu bilmiyorum.

Bunlar tam olarak attığım adımlar:

  1. Kapalı Visual Studio
  2. Sistemi ve tarayıcıyı temizlemek için CCleaner kullanıldı temp dosyalarını / klasörlerini
  3. Aşağıdaki dosyaları / klasörleri el ile temizledi / sildi:

    • %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

Teşekkürler, açıkladığınız Microsoft \ VisualStudio \ 14.0 \ ve Microsoft \ VisualStudio Services \ 6.0 \ Cache klasörlerini temizledikten sonra benim için çalıştı.
Niels van Reijmersdal

Kesinlikle demek istiyorsun \Microsoft\VisualStudio\14.0\ImageLibrary\ImageLibrary.cache?
Mateen Ulhaq

2
% TEMP% 'den her şeyi kaldırdım ve işe yaramadı, ama' VisualStudioTestExplorerExtensions 'dizinini (boş) okuduğumda everywhing mükemmel çalışıyor :-) (Şu anda bu çözümün altındaki
anserw var

Bu çözümün VS2015 Güncelleme 3 ve Resharper 10 ile benim için çalıştığını doğrulamak istiyorum. Ancak mucizeyi görmek için yeniden başlatmanız gerekiyor
Quoc Nguyen

1
Sadece bir dosyayı sildim \ AppData \ Local \ Microsoft \ VisualStudio \ 14.0 \ 1033 \ SpecificFolderCache.xml hepls
Serhii Kuzmychov

21

Bu sorunun bir nedeni, test sınıfınızın herkese açık olmamasıdır. MSTest yalnızca kamu sınıflarının testlerini keşfeder.


1
Bu% 100 doğru olmasa da, kamuya açık olmayan bir sınıfta iyi çalışıyordum, bir noktada birim testi çalışmayı durdurdu. Birim test sınıfını herkese açık olarak değiştirdiğimde tekrar çalışmaya başladı. Git şekil!
SashaArz

Bu benim için çözdü. Varsayılan olarak Visual Studio, genel anahtar sözcük olmadan test sınıfları ekler ve bunları herkese açık hale getirene kadar bunları görmez.
Marc Fearby

13

Testleri explorer'a eklemek istiyorsanız Visual Studio 2015'te (Güncelleme 3), NUnit Test Bağdaştırıcısını yüklemeniz gerekir.Ayrıca, adaptörü Araçlar-> Uzantı ve Güncellemeler-> Çevrimiçi sekmesinden indirin (bağdaştırıcıyı aramanız gerekir) ) -> İndir . Visual Studio'yu yeniden başlatarak sınama çerçevesi için değişikliği görebilirsiniz.


2
Talimatlarınızı takiben, "nunit" kelimesini aradım ve "İndir" (yükleme) işleminden sonra sorunumu çözen "NUnit 3 Test Adaptörü" nü buldum. Bu konuda internette arama yapmak bağlantıdaki
Adam Cox

Yapılandırma dosyalarını değiştirmediği için bu bazı senaryolarda Nuget paket yöneticisinden daha iyidir
GY_

1
@GY_ ancak .NET Core veya Standard'ı hedeflerken aslında NuGet paketine ihtiyacınız var, cevabımı aşağıdan kontrol edin: stackoverflow.com/a/47460221/1137334
m93a

Hayatımı kurtardın ! Teşekkürler, çok fazla çözüm denedim ve işe yaramadı. Benimki google test adaptörüydü.
Erman

9

Buna tam bir cevabım yok, ancak bir test projesiyle oynayarak bazı şeyler belirledim:

  1. xunit.runner.aspnet : 2.0.0-aspnet-beta4Resmi beta4 aspnet5 salımının görünür olması o kısmı Visual Studio çalışma yapmaz.
  2. Bunun yerine, "xunit": "2.1.0-*"ve "xunit-runner.dnx": "2.1.0-*"paketleri kullanarak Visual Studio'da çalışır.
  3. VS'nin testleri keşfetmesi için, projenizin "test" adında "xunit.runner.dnx" çalıştıran bir SINGLE komutu olması ZORUNLUDUR. Ek komutlar eklemek komutu bozabilir.
  4. Test Gezgini pencereniz hala boşsa, projenizden "test" komutunu KALDIRIN, sonra çözümü yeniden oluşturun, sonra "test" komutunu project.json'a geri ekleyin.
  5. @ Fred-Kleuver'in önerisine göre tüm önbelleklerinizi temizlemek yardımcı olabilir, ancak tüm adımları tek başına yapmadım, bu yüzden emin değilim.

Bu, günlükleri değil, beta4 sürümlerini kullanarak VS 2015 CTP 6'ya göre geçerlidir.


1
Tamam, (bir iş arkadaşının denemesini sağlayarak) yukarıdaki düzeltmenin önbelleklerin veya geçici dosyaların temizlenmesini gerektirmediğini doğruladım.
Avi Cherry

Yukarıda "Bunun yerine," xunit "kullanarak:" 2.1.0- "ve" xunit-runner.dnx ":" 2.1.0- "paketleri Visual Studio'da çalışır." Bu işe yarıyor, teşekkürler!
Gillardo

Btw, bir takip olarak, mevcut sürümler itibariyle VS 2015'te her şey iyi çalışıyor gibi görünüyor. Göstermek için yeni testler veya herhangi bir şey almak için telaş gerekmez.
Avi Cherry

1
Son olarak, MS'den tam olarak hangi xunit sürümlerinin hangi DNX sürümleriyle kullanılacağına dair uygun bir kılavuz var, burada: xunit.github.io/docs/getting-started-dnx.html
Avi Cherry

9

Bazı testlerin alınamayacağı bir örneğim vardı, çünkü bunları asyncaşağıdaki gibi yapmıştım :

public async void This_IsMy_UnitTest()

Sorun, onları geri getirmeyi unuttum Taskve değilvoid , . Bunun bir hataya veya başarısız bir teste neden olacağını düşünürdüm ama hayır. Bu sınıftaki birim testleri tamamen yok sayıldı ve yokmuş gibi davrandılar.

Yaklaşık 3 temiz ve inşa + yeniden başlatmadan VS.NETsonra test çalışmasını gördüm ve Taskdönüş tipini eklemeyi unuttuğumu gösteren başarısız oldu :

public async Task This_IsMy_UnitTest()

Güncellemeden sonra, birim testleri bulundu ve düzgün çalıştı. Bu bir uç durum olabilir, ancak içeride asynckullanmak için testlere sahip olmak, ancak awaitimzayı doğru yapmak aynı soruna neden olabilir ve bunu yaptığım ilk kez değil.


Sorunu benim için çözdü!
Aimal Khan

8

Nuget paket yöneticisine gidin ve aşağıdaki gibi Nunit Adaptörünü indirin.

resim açıklamasını buraya girin


Teşekkür ederim, benim durumumda NUnit3TestAdapter yerine NUnitTestAdapter vardı. Bu benim sorunumu çözdü.
piksel

NUnit3TestAdapter nuget paketini bir çözüme veya bir projeye eklemek, sorunu genel olarak diğer tüm çözümler için değil, yalnızca eklenmiş olanlar için çözer. Genellikle tüm çözümler / projeksiyonlar için NUnit 3 Test Adaptörü uzantısını görsel stüdyonuza stackoverflow.com/a/45748818/1300390
Umar T.

6

Ben aynı pronlem vardı ama ben "% TEMP% \ VisualStudioTestExplorerExtensions" klasör benim makinede yoktu bu yüzden mesajları okumak gibi ben bunu oluşturmak için bir fikrim vardı ve çalışıyor. Test gezgini artık tüm testlerimi gösterebiliyor. Teşekkürler.


6

Sadece yeniden Visual Studio ve Test Explorer "Çalıştır All" ... Bütün testler sonra keşfedilir yapmak.


1
Ayrıca Test Gezgini'ni kapatıp yeniden açtığımı ve Tümünü Çalıştır'ı seçtiğimi de fark ettim. Her zaman işe yarayıp yaramadığından henüz emin değilim ama bu sefer işe yaradı.
Zengin

5

Benim durumumda (Visual Studio Enterprise 2015 14.0.25425.01 Güncelleme 3, Resharper 2016.2) Sadece Build menüsünden temiz bir çözüm yapmam gerekiyordu . Çözümü yeniden oluşturmak daha sonra test gezgini "uyanmak" ve tüm testleri tekrar bulmak neden olur.


5

Benim durumumdaki çözüm, NUnit 3 Test Adapter uzantısını Visual Studio 2015'e kurmaktı.

'Uzantılar ve Güncellemeler', 'Araçlar' teması altında bulunur


Cevabınız soruya nasıl değer katıyor? Onları okudun mu? Aynı çözümü öneren iki cevap zaten var: stackoverflow.com/a/41364951/6305294 , stackoverflow.com/a/35043380/6305294
Alex

2
İlkini okudum (yani stackoverflow.com/a/41364951/6305294) ama bu benim cevabımdan farklı, çünkü bir çözüme veya bir projeye NUnit Adaptör nuget paketini genel olarak diğer tüm çözümler için sorun. İkincisi ile ilgili olarak, onu görmeyi özlediğimi itiraf etmeliyim. Belki bir ekran görüntüsü eklemek, bir soruya iki cevap geldiğinde gözün yakalanmasına yardımcı olur
Umar T.

4

Benim durumumda, sorun "sandalye ve klavye arasında" idi. Yapılandırma Yöneticisi'ndeki derleme üzerinde birim test projelerimi içermeyen bir yapılandırmaya geçtim. Tüm projeleri içeren bir yapılandırmaya (örneğin Hata Ayıklama) geri dönmek sorunu çözdü.


4

Benim durumumda, VS 2015 altındaki MSTest, 174 karakterden daha uzun test (yani yöntem) adlarıyla testleri görmezden geliyordu. Adın kısaltılması, testin görünür olmasını sağladı. Bu, test adı değiştirilerek tahmin ve kontrol ile belirlendi.


4

Bu muhtemelen çoğu insana yardımcı olmaz, ancak birim testte deneyimsiz biri aşağıdakiler boolyerine dönen bir test yöntemi yazmıştı void:

[TestMethod]
public bool TestSomething()

Geri dönüş türünü değiştirmek voidsorunu çözdü.


Bir tür döndürmenin test keşfini önlediğini bilmek hala ilginç, bunu bilmiyordum.
Fred Kleuver

3

Sahip olduğunuzdan emin olun xunit.runner.visualstudioTest proje paketlerinizde paket bulunduğundan .config ve ayrıca doğru şekilde geri yüklendi.

Bunun orijinal soru için geçerli olmadığını biliyorum, ancak benim gibi biri için zamandan tasarruf edebilir.


3

Sadece yukarıdaki çözümlere tamamen farklı bir çözüm bulduğumu eklemek isterim.

Test sınıfımı aşağıdaki gibi beyan etmiştim:

[TestClass]
class ClassificationTests
{
   //unit tests
}

En kısa zamanda katma olarak publicsınıfına değiştirici, o kadar beklenen çalıştı!


2

.NET Standard veya .NET Core'u hedefliyorsanız , uzantı yerine NUnit Test Adapter için NuGet paketini kullanmanız gerekir .

.NET Core veya .NET Standard projelerini test ediyorsanız adaptörü NuGet'ten yüklemeniz önerilir. VSIX paketleri birden çok platformu hedefleyemediği için VSIX bağdaştırıcısı .NET Core'u desteklemez ve desteklemez.

Kaynak: NUnit GitHub Wiki

.

Ayrıca buradaki SSS bölümünü kontrol edin:

Testlerim Visual Studio 2017'de görünmüyor mu?

  • NuGet paketini mi kullanıyorsunuz?
  • NuGet paketinin 3.8.0 veya daha yeni bir sürümünü mü kullanıyorsunuz?
  • Testleriniz .NET Core'u veya tam .NET Framework'ü hedefliyor mu? (yukarıyı görmek)
  • Microsoft.NET.Test.Sdk'ye Paket Başvurusu eklediniz mi?
  • Visual Studio'yu yeniden başlattınız mı? Hala biraz tempermental.

Kaynak: NUnit GitHub Wiki



1

Ben de aynı problemi yaşadım. Projeyi yeni temizledim ve yeniden inşa ettim ve eksik olan testleri görebildim.


1

Çözümümü paylaşmak için içeri giriyorum. Windows 10, Visual Studio 2015, NUnit 3.5, NUnit Test Adapter 3.6'daydım (VISX uzantısı değil NuGet aracılığıyla) ve testlerimin hiçbiri keşfedilmedi. Benim sorunum çözümümün Testler projesinde, bir şekilde proje klasöründe "Belgeler" klasörüne bir kısayol oluşturulmuş oldu. Test adaptörünün kısayolu görüp onunla ne yapacağını anlamaya çalışırken takıldığını tahmin ediyorum, bu da birim testlerinin görüntülenememesine neden oldu.


1

\ AppData \ Local \ Microsoft \ VisualStudio \ 14.0 \ 1033 \ SpecificFold‌ erCache.xml dosyasını silmek sorunu benim için çözdü.


1

Bu konu biraz modası geçmiş, ancak VS2015'te eksik Test durumuna benim çözümüm:

Görev durumu yalnızca Hata Ayıklama yapı yapılandırmasında gösterilir. Tabii ki bu da test kaşifinden testinizde hata ayıklamayı imkansız hale getirir.


1

Ayrıca bu harika küçük özelliği tarafından ısırıldı ve burada açıklanan hiçbir şey benim için çalıştı. Yapı çıktısını tekrar kontrol edip ilgili projelerin inşa edilmediğini fark edene kadar değildi. Yapılandırma yöneticisine yapılan bir ziyaret şüphelerimi doğruladı.

Visual Studio 2015, mutlu bir şekilde yeni projeler eklememe izin verdi, ancak bunları oluşturmaya değmediğine karar verdi. Projeleri binaya ekledikten sonra güzel oynamaya başladı.


1

X64'ü şu şekilde değiştirerek çözdüm: Projeye sağ tıklayın -> Özellikler -> Oluştur -> Platform hedefi -> Herhangi bir CPU


1

Bir şekilde projem Statik Kütüphane (.lib) olarak derlenecek şekilde ayarlandı . Bunu bir Dinamik Kitaplık (.dll) olarak değiştirdikten sonra , Visual Studio 2012 tarafından doğru olarak keşfedilen yerleri sınar.

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

1

Sorunu şu şekilde düzeltmek benim için çok kolaydı:

  • Birim Test Projenizi seçin
  • Çözüm Gezgini'nde 'Tüm Dosyaları Göster' düğmesine tıklayın ve Çözüm Gezgini'nin dosya ağacında 'obj \ x86 \ Debug' içinde yeni geçici dosyalar belirdi.
  • Bu geçici dosyaları silin ve projeyi yeniden oluşturun.
  • Testleri tekrar denedi ve çalıştı !.

1

Biz de aynı sorunu yaşadık. İçinde birden fazla C # projesi ve daha da fazla test projesi bulunan büyük bir VS 2015 çözümümüz var.

Resharper'ın test keşfi işe yaradı, ancak VS Test Explorer perişan bir şekilde başarısız oldu.

Projelerin aynı MsTest TestFramework ve TestAdapter sürümüne sahip olmadığı ve bazen NuGets ve diğer zamanlarda iyi eski referanslar kullandıkları ve görünüşte desteklenmediği anlaşılmaktadır (bu kadar pahalı bir IDE için çok fazla).

Tüm Microsoft.VisualStudio.Test * referanslarını kaldırarak ve ardından iki MSTest NuGet'in eklenmesi / güncellenmesi sorunu çözdü.


1

Test projem için Hedef Çerçevenin test edilen projeden farklı olduğunu fark ederek bu sorunu çözdüm . Evet, hedef çerçeveyi varsayılandan (Proje> Özellikler> Uygulama) değiştirerek bu soruna neden oldum, ancak birkaç hafta sonra oluşturulan test projesi için bunu başaramadım. Uyumsuzluk derleyici hatasına neden olmadı, ancak Hata Listesi penceresinde bir uyarı ile sonuçlandı . Uyarıları görüntüleme seçeneğini belirledikten sonra çözüm açıktı.

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.