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." 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.
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
Sorun
Sorun, Visual Studio'nun makinedeki dotnet çekirdek sürümleri üzerinde 'kafasının karışmasıdır'. 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 core1.0.1
yüklü ise ancak komut isteminde sürümü aldığınızda1.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...
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