Visual Studio 2017'de Birim Testleri keşfedilmedi

VS 2017'yi kurduğumdan beri onunla mücadele ediyorum. Şimdi Birim Testleri yalnızca "dotnet test.&quot komut satırından çalışacak gibi görünüyor;

Projem .NET Core 1.1.1. SDK ve 1.1.1 için çerçeve güncellemesi yüklü.

MSDN'deki (https://msdn.microsoft.com/en-us/library/ms182532.aspx) örneği denedim, o da aynı şekilde başarısız oldu.

Testler ve ana proje için tüm NuGet paketleri günceldir. Ve hem test projesi hem de ana proje hatasız derleniyor. Testler komut satırından başarılı bir şekilde çalışır.

VS 2017'de Birim Testlerinin çalışmasını sağlayan var mı, varsa nasıl?

Teşekkürler, John


Güncelle - Genişlet

İşte GitHub üzerinde çalışmayan basit bir test projesi örneği. Bu xUnit ile bir örnektir, ancak NUnit ve MS testlerinde yerleşik visual studio'yu denedim. Hangi testi veya hangi değişiklikleri yaparsam yapayım VS test çalıştırıcısının herhangi bir test bulmasını sağlayamıyorum.

Ne Denedim

  • VS test önbellek dosyalarını silme DEL %TEMP%\VisualStudioTestExplorerExtensions
  • VS'yi yeniden başlatma
  • Test gezginini kapatma/açma
  • xUnit için Microsoft.DotNet.InternalAbstractions yüklü (bkz. SO post)
  • NUnit için adaptörün kurulu olduğundan ve NUnit paketiyle aynı sürümde (3) olduğundan emin olun
  • test -> test ayarları -> varsayılan işlemci mimarisi x86 olarak ayarlanmıştır

Soru Lütfen VS2017'de (.csproj proje dosyaları) VS test gezgininin birim testlerini başarıyla bulduğu bir .Net Core 1.1.0 çözümünün çalışan bir örneğini sağlayabilir misiniz VEYA verilen örnekteki sorunu bana gösterebilir misiniz?

MSDN altındaki güncel olmayan makaleleri okumayın. .NET Core ile ilgili materyaller docs.microsoft.com altında yer almaktadır.

https://docs.microsoft.com/en-us/dotnet/articles/core/testing/

Genel olarak, birim test durumlarını içermek için bir .NET Core konsol uygulamasına ihtiyacınız vardır.

Yorumlar (14)

Benim durumumda, soruna neden olan çözümde bulunan UWP projesiydi.

UWP projesini kaldırdığımda testler keşfedildi. Geri yüklediğimde testler tekrar kayboldu.

Tüm projeleri boşaltmayı ve yalnızca test projesini tutmayı deneyin. Test Runner'da on adet yeniden oluşturma çözümü ve test shound'u görünür. Projeleri tek tek yükleyin ve hangi projenin soruna neden olduğunu bulmak için her seferinde çözümü yeniden oluşturun

örnek repo

VS hata raporu

Yorumlar (1)

Sorun

Sorun, Visual Studio'nun makinedeki dotnet çekirdek sürümleri üzerinde 'kafasının karışmasıdır&#39. Denetim masası -> programları kaldır'a gittiğimde 8 farklı dotnet core SDK'sı ve Runtimes'ı yüklüydü. Bu bir şekilde VS'nin testleri bulmaya çalışırken sessizce hata vermesine neden oluyordu.

Sorunu Doğrulayın

Komut satırına gidip $ dotnet --version komutuyla dotnet sürümünüzü alarak sorunu doğrulayabilirsiniz. Eğer yüklediğiniz en son sürümden başka bir şey görüyorsanız, makinenizde bir uyumsuzluk var ve doğru sürümü kullanmıyor demektir. Örnek... Eğer dotnet core 1.0.1 yüklü ise ancak komut isteminde sürümü aldığınızda 1.0.0 yazıyorsa bu bir problemdir.

Çözüm

Tüm eski şeyleri silin. Sadece kaldırmam gerektiğini düşündüğüm şeylerle başladım (en eski dotnet rc sürümleri) ancak sorunu test ederken yine de yanlış sürümü verdi. Sonunda tam bir temizlik yapmaya karar verdim. I...

  • Tüm visual studio uygulamalarını kaldırdım (makinemde VS2015 ve VS2017)
  • Dotnet core'un tüm sürümlerini kaldırdım (en son sürümleri bile)

Makinem tüm VS ve donet'lerden tamamen boşaldıktan sonra sadece VS2017'yi kurdum (en son dotnet ile paketlenmiş olarak geliyor). Bir xUnit test projesi oluşturdum ve test gezgini testi hemen buldu ÇÖZÜLDÜ

Bu aşırıya kaçmak gibi görünebilir ama bunu başka yollarla düzeltmek için iki hafta harcadım. Eğer sorun yaşıyorsanız bunu yapın, öğeleri kaldırmanız/yeniden yüklemeniz saatlerinizi alsa da muhtemelen size zaman kazandıracaktır.

Referanslar

  • Sorunu çözme konusunda daha fazla ayrıntı verdiği @epestic blog yazısı bölümüne bakın.
Yorumlar (0)