6

ile çalışan XUnit sınamaları elde edilemiyor Benim için, yeni msbuild tabanlı netcoreapp1.0 xunit proje şablonundan Visual Studio 2017'de birim sınama çalışması yapamıyorum.Visual Studio 2017 RC

Gereksinim, birim testlerinin hem Visual Studio'da (dev'ler için) hem de otomatik oluşturma işlemi için CLI'da dotnet test'dan çalışmasına yöneliktir, ancak sürekli çalışamıyorum. İşte

denedim budur:

varolan çözümde

, yeni bir proje oluşturmak ve NET Çekirdek>xUnit Testi Projesi seçin. Visual Studio dan

Yapı projesi varsayılan testi görünür ve başarıyla şimdi Powershell isteminden dotnet test çalıştırmak çalışır, olsun: csproj dosyasıyla

> dotnet test 
Test run for D:\...\bin\Debug\netcoreapp1.0\MyProj.dll(.NETCoreApp,Version=v1.0) 
dotnet exec needs a managed .dll or .exe extension. The application specified was 'C:\Program' 

Veya dotnet testi:

> dotnet test MyProject.csproj 
(same error as above) 

> dotnet test ..\MySolution.sln 
Couldn't find a project to run test from. Ensure a project exists in D:\... 
Or pass the path to the project 

ben eklerseniz xunit.runner.console veya xunit.runner.msbuild Nuget paketleri, o Visual Studio içerisinden çalışan birim testleri durdurur.

Her ikisini aynı anda nasıl çalışırım?

Teşekkürler!

+0

@tommed, bunu bir Visual Studio Komut isteminden çalıştırabilir/çalıştırabilir misiniz? VS 2017 yılında Msbuild kullanılan özel env msbuild konumunu belirlemek için kullanılan değişkenler, .targets ve sınıf kitaplıkları vardır demektir yerel uygulama, çünkü mesele muhtemelen. –

+0

@MichaelBraude bunun için teşekkürler. Ayrıca _Developer Komuta Prompt_ ve _MSBuild Komutanlığı Prompt_ aynı denenmiş ve aynı hatayı alıyorum var - güzel düşünce olsa! – tommed

+0

NET Core hakkında olmasa da, bunu bir yorum olarak gönderiyorum: VS2017 Tam NET 4.5 çerçevesi burada, aynı problem: Bulunacak birim testi yok. Ben kaldırıp Nuget kullanarak projelerin birinden 'xunit.runner.visualstudio' yeniden gerekiyordu. Daha sonra çözümü yeniden oluşturun ve testler bulundu. Bu yardımcı olur umarım. – Sharky

cevap

7

Vurduğunuz hata önizleme 3'te bulunur ve Önizleme 4'te giderilmiştir. Bunu yürütürken komut satırından çıkmadılar ve dotnet.exe varsayılan olarak C:\Program Files\dotnet'a yüklendiğinden her zaman başarısız olur.

Önizleme 3'ü kullanmaya devam etmek istiyorsanız, en basit çalışma sisteminizi PATH ortam değişkenini düzenlemek ve'u C:\Progra~1\dotnet ile değiştirmektir.

+0

İlgili hata: https://github.com/dotnet/cli/issues/4832 –

+0

Şaşırtıcısınız - teşekkür ederim !!!!! – tommed

6

Bunun çok iyi bir yanıt olmadığını biliyorum, ancak dotnet-test-xunit yalnızca project.json dosyalarını destekliyor. VS 2017, csproj dosyalarına geçiş yapmanızı zorlaştırıyor.

Ben xunit twitter yem buldum: .NET Çekirdek w/VS2017 RC kullanım @xunit çalışıyorsanız, dotnet-test-xunit kaldırıp xunit.runner.visualstudio 2.2 beta 4 yerine kullanılacak.

+2

Bu bilgiyi sağladığınız için teşekkür ederiz.Ayrıca, dotnet-test-xunit'in VS2017'yi kırdığı sonucuna vardık - 'xunit.runner.visualstudio' nuget paketi zaten kurulmuş, ancak testlerin çalıştırılmasının bir yolu yok. – tommed

2

En son RC.3 ile keşfedilmemiş testlerle ilgili sorunlar yaşadım ve yerleşik Test Gezgini'ni çalıştırdığınızda, çıktıda Microsoft.DotNet.InternalAbstractions 1.0.0'un eksik olduğunu belirtti. Bu, .NET Core'un önceki sürümlerinde de söz konusuydu ve çözüm de aynı şekilde paketi Nuget'ten kurdu.

+0

Bu, xUnit ile sınama ile ilgili sorunlarımı giderdi. Visual Studio 2017RC şaşırtıcı bir şekilde projeye getirilen hataların çok yüksek miktarlarda olduğunu ve testlerin kutudan çıktığı anda test edilmesini sağladı. – Hekkaryk