VS 2017 test sinovlari aniqlanmaydi

VS2017 ni .NET Core sinov loyihalari bilan ishlashga yordam berishim mumkinmi?

VS 2017 shablonidan .NET Core uchun MSTest va xUnit birligi sinov loyihalarini yaratishga harakat qildim. Ularning ikkalasi ham testerda ishlamaydi (kashf etilmagan), lekin loyiha jildidan ishlaydigan dotnet test ishlayapti.

Qayta ko'chirish choralari:

  1. VS 2017da yangi loyiha yarating
  2. Birlik Test Project (.NET Core) yoki xUnit viktorina loyihasi (.NET Core) shablonini tanlang
  3. Ba'zi tasodifiy birlik sinovini amalga oshirish
  4. echimni yarating
  5. Matnni o'rganuvchiga o'ting va Run All
  6. ni ishlating

Shu nuqtada Chiqish oynasi sizga 0 ta test aniqlanganligini aytishi kerak

.csproj file:



  
    netcoreapp1.1
  

  
    
    
    
  


Agar MSTest birlashma sinov loyihasini .NET Framework (to'liq .NET Core emas) maqsadidagi shablondan yaratishga harakat qilsam, u ishladi.

Har qanday fikr bormi?

17
qo'shib qo'ydi muallif Michael Freidgeim, manba
stackoverflow.com/questions/40834871/… bu muammoni hal qilishga yordam berdi.
qo'shib qo'ydi muallif Alexey Andrushkevich, manba
Bu aslida ishlagan. Katta rahmat!
qo'shib qo'ydi muallif valorl, manba

8 javoblar

In the end, the problem was solved by changing my system PATH env. variable from C:\Program Files\dotnet\ to C:\Progra~1\dotnet\, as answered in Can't get XUnit tests working with Visual Studio 2017 RC

Alekseyga sharhlar berish uchun rahmat :)

14
qo'shib qo'ydi
Rahmat! VS2017 Pro 15.1 operatsion tizimida ishlayapman va bu meni tuzatgan yagona narsa edi.
qo'shib qo'ydi muallif Nicole Sands, manba

O'ylaymanki, men shu kabi xatti-harakatlarni boshdan o'tkazdim VS sizning sinovlaringizni aniqlay olishi uchun hal qilishingiz mumkin. Aks holda, iltimos, to'g'ri paketlarga murojaat qilishingizni ta'minlash uchun sizning csproj faylini testdan o'tkazing. Minan:



  
    Exe
    netcoreapp1.1
  

  
    
    
    
  


UPDATE: I have played around a bit and it looks like VS cannot find the tests without Exe

UPDATE 2: Try also add following to csproj as I see VS adds in in some cases.


  

4
qo'shib qo'ydi
Buyruqlar satriga kirib, "dotnet - versiya" ni yozsangiz, nima deyish mumkin?
qo'shib qo'ydi muallif Taylor H., manba
@valorl OutputType ni qo'shishga harakat qilib ko'ring.
qo'shib qo'ydi muallif Andrii Litvinov, manba
@valorl, men VSda glitslarni ko'rmoqdaman, lekin agar loyihani qurish/tozalash/qayta qurish bir necha marta VS oxirida uni topishi mumkin. Bundan tashqari, ikkinchi yangilashda e'lon qilgan ItemGroup ni ham qo'shib ko'ring.
qo'shib qo'ydi muallif Andrii Litvinov, manba
Kechirasiz, ko'proq yordam bera olmayman deb o'ylamayman. Iltimos, qaror qabul qiling. Aslida, o'rnatilgan bo'lsa, eski. NET Core SDK'leri olib tashlang. Faqat tasavvur qiling, chunki VS-2017 ni o'rnatishdan oldin ularni olib tashladim.
qo'shib qo'ydi muallif Andrii Litvinov, manba
Yo'q, hali hech narsa ...
qo'shib qo'ydi muallif valorl, manba
@Taylor Bu kod 1.0.0
qo'shib qo'ydi muallif valorl, manba
Agar u yordam qilsa, OutputType qatorini qo'shganda, bin \ debug \ netcoreapp1.1 .exe
qo'shib qo'ydi muallif valorl, manba
O'rnatilganimdan keyin ham muvaffaqiyatlar yo'q ... Mening VS versiyam Community 2017, VisualStudio/15.0.0-RTW + 26228.4
qo'shib qo'ydi muallif valorl, manba
Men kompyuterni qaytadan ishga tushirdim, toza xayitli sinov loyihasi bilan toza echimlarni ishlab chiqdim, Exe qo'shib qo'ydi va qayta tiklashdi va Run All ni ishga tushirishga harakat qildim. Hech bir yutuq ... hatto VS administrator sifatida ishlagan. Men uni qayta tiklashga harakat qilaman, ehtimol u yordam beradi
qo'shib qo'ydi muallif valorl, manba
Men buni eslamagan edim, lekin qurishim kerak edi, binoning afsuski yordam bermasligi. Postimni .csproj faylim bilan tahrirladim. Sizning yagona farq - bu erda OutputType yorlig'i. Men uni qo'shishga harakat qildim, lekin hech qanday farq yo'q edi.
qo'shib qo'ydi muallif valorl, manba

Men VS-2017 bilan bu masalani MSTest unit sinovlari bilan tanishtirmadim. NET Core.

Viktorina natijalari faqat nolli sinovlarni aniqlaganligini xabar qildi.

Buyruqning xohishi bo'yicha dotnet test MyProject.csproj -t ishlayotganida, loyihaning RuntimeFrameworkVersion bilan mos kelish uchun to'g'ri. NET yadro ish vaqti o'rnatilgani haqida maslahat berdi.

VS 2017 so'nggi versiyasini o'rnatish va .NET Core ish vaqti muammoni hal qildi.

2
qo'shib qo'ydi
DGreenga rahmat. Shuningdek, VS-2017 qurilmasi sinovlarini boshdan kechirganimda ham muammoga duch keldim. To'g'ri ramkaga murojaat qilsam, yuqoridagi buyrug'ingning eslatmasi menga jamoatchilikka o'rnatilgan test sinovlari sinfining kirish modifikatori yo'qligini aniqladi.
qo'shib qo'ydi muallif m2web, manba

Xuddi shu masala ham bor edi. Uni "Microsoft.NET.Test.Sdk" paketini nuget-dan o'rnatish orqali hal qildim.

1
qo'shib qo'ydi
Aynan shu narsani almashish uchun bu erga keldim. Men sirli tarzda testlarni ko'rsatmasligi mumkin bo'lgan bir yechimdagi bir nechta loyiha bor edi. Oxir-oqibat, bu uni hal qildi. Shunday qilib, men +1.
qo'shib qo'ydi muallif Arwin, manba
Microsoft.NET.Test.Sdk qo'shildim va muammoimni hal qilmadim.
qo'shib qo'ydi muallif Francisco d'Anconia, manba
XUnit sinov loyihasi shabloni allaqachon mavjud.
qo'shib qo'ydi muallif valorl, manba

Men ham bu muammoni boshdan kechirdim va loyiha va sinov loyihasini .csproj fayli

netcoreapp1.0
0
qo'shib qo'ydi

Protsessor Arxitektori uchun mos kelmaydigan loyiha parametrlari bo'lishi mumkin. Viktorina loyihasi maqsadi sinov standarti Protsessor Arxitekturasiga mos kelishi kerak.

Check https://stackoverflow.com/a/47454276/2700303

0
qo'shib qo'ydi

Bundan tashqari, bir nechta sinov loyihalari va bir xil chiqish katalogiga ega bo'lish va shuningdek, sinov loyihasi paketlarini yangilash da, * .csproj fayllarida aralash PackageReference versiyalari bo'lmasligingizga ishonch hosil qiling. MSTest.TestAdapter bilan bir qatorda MSTest.TestFramework

0
qo'shib qo'ydi

project.json dan csproj dan ko'chib ketishgandan keyin ham xuddi shu masala yuz berdi. Va net451 maqsad ramkasini olib tashlab, faqat netcoreapp1.1 qoldiring. Endi u mukammal ishlaydi va har safar kashf etilayapti.

Agar siz ko'pgina ramka maqsadlariga muhtoj bo'lsangiz, ularni bajarmasligingiz kerak, ularni tekshirish uchun CLI'dan foydalaning ...

0
qo'shib qo'ydi