kzen.dev
  • Întrebări
  • Tag-uri
  • Utilizatori
Notificări
Recompense
Înregistrare
După înregistrare, veți primi notificări despre răspunsurile și comentariile la întrebările DVS.
Logare
Dacă aveţi deja un cont, autentificaţi-vă pentru a verifica notificările noi.
Aici vor fi recompensele pentru întrebările, răspunsurile și comentariile adăugate sau modificate.
Mai mult
Sursă
Editează
John Pezzanite
John Pezzanite
Question

Teste unitare nu s-a descoperit în Visual Studio 2017

Am fost luptă cu VS 2017 cand l-am instalat. Acum se pare Teste Unitare va rula din linia de comandă "dotnet test."

Proiectul meu este .NET Core 1.1.1. Am SDK și actualizarea cadrului pentru 1.1.1 instalat.

Am încercat proba la MSDN (https://msdn.microsoft.com/en-us/library/ms182532.aspx), care, de asemenea, nu exact în același mod.

Toate pachete NuGet pentru teste și principalul proiect sunt actuale. Și atât proiectul de testare și principal al proiectului de a construi fără erori. O testele rula cu succes, de la linia de comandă.

A luat careva Teste Unitare pentru a rula în VS 2017, dacă da, cum?

Multumesc, John


Update - Extinderea

Aici este un exemplu de un test simplu proiect, care nu este de lucru pe GitHub. Acesta este un exemplu cu xUnit dar am încercat NUnit și visual studio construit în MS teste. Indiferent de ceea ce de testare sau ce schimbări aș face eu nu pot obține VS test runner pentru a găsi orice teste.

Ce I'am Incercat

  • Ștergerea VS test de fișiere cache DEL %TEMP%\VisualStudioTestExplorerExtensions
  • Repornirea VS
  • Închiderea/Deschiderea test explorer
  • pentru xUnit instalat Microsoft.DotNet.InternalAbstractions` (a se vedea ATÂT de post)
  • pentru NUnit asigura adaptor instalat și aceeași versiune (3) ca NUnit pachet
  • test -> testare setări -> implicit arhitectura de procesor este setat la x86

Întrebarea Poate cineva vă rugăm să ofere un exemplu de lucru un .Net Core 1.1.0 soluție în VS2017 (.csproj fișiere de proiect) unde VS test explorer găsește cu succes teste de unitate SAU arată-mi problemă în exemplul dat.

202 2017-03-17T15:52:11+00:00 34
Stephen Kennedy
Stephen Kennedy
Întrebarea editată 6 martie 2018 в 12:38
Programare
unit-testing
visual-studio-2017
Această întrebare are 1 răspuns în engleză, pentru a le citi, vă rugăm să vă logați.
Quality Catalyst
Quality Catalyst
2 iunie 2017 в 11:37
2017-06-02T23:37:40+00:00
Mai mult
Sursă
Editează
#33042739

În cazul meu, s-a dovedit că am avut pur și simplu să - actualizare mea de test adaptoare și cadru de testare. Făcut.

Exemplu folosind Manager de pachete NuGet:

introduceți descrierea imaginii aici

186
0
 PmanAce
PmanAce
2 octombrie 2017 в 7:24
2017-10-02T19:24:16+00:00
Mai mult
Sursă
Editează
#33042748

Asta doar a lucrat pentru mine (don't știu dacă acesta este rezultatul de schimbare spații de lucru care ne-a corupt ceva):

Ștergerea VS test de fișierele cache în %TEMP%\VisualStudioTestExplorerExtensions și reporniți VS2017.

123
0
Rob Prouse
Rob Prouse
16 mai 2017 в 12:30
2017-05-16T12:30:24+00:00
Mai mult
Sursă
Editează
#33042738

API-ul pentru test adaptoare pentru .NET Core s-a schimbat odată cu lansarea Visual Studio 2017 și de proiect.jsonformatcsprojformat. Acest lucru a făcut existentedotnet-test-*adaptoare ca dotnet-test-nunit învechite.

Adaptoarele au fost actualizate, dar modul de configurare și teste în Visual Studio sau pe linia de comandă cu dotnet test necesită diferite referințe în testul de proiecte. Atenție de orice documentație veți găsi că trimitere de pachete în dotnet-test-*` format, deoarece acestea sunt depășite.

În primul rând, test de proiect trebuie să vizeze o anumită platformă, fie .NET Core sau .NET Framework. Nu-țintă .NET Standard chiar dacă codul sunteți de testare este .NET Standard. Acest lucru este pentru că ținta de teste care indică platforma pentru a rula teste de conformitate. .NET Standard este ca un PCL (Portable Class Library) în care se poate rula pe mai multe platforme.

Apoi, aveți nevoie pentru a adăuga referințe la Microsoft.NET.Test.Sdk`, testul cadru de alegere și un test compatibil adaptor. Pentru NUnit, referințele va arata acest lucru,

<itemgroup>
    <packagereference Include="Microsoft.NET.Test.Sdk" Version="15.0.0"></packagereference>
    <packagereference Include="NUnit" Version="3.7.1"></packagereference>
    <packagereference Include="NUnit3TestAdapter" Version="3.8.0"></packagereference>
</itemgroup>

Un comentariu de mai sus menționează adăugarea,

<ItemGroup>
    <Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" />
</ItemGroup>

Asta e't strict necesar, dar poate ajuta. Acesta este adăugat automat la toate unitate de testare de proiecte de Visual Studio pentru a ajuta-l găsească rapid proiecte cu teste.

Dacă testele nu't apar în Visual Studio, primul lucru pentru a încerca este de a închide soluție și apoi re-a le deschide. Nu pare a fi bug-uri în Visual Studio nu detectează modificări la proiectele de când editați-le.

Pentru mai multe informații, a se vedea de Testare .NET Core cu NUnit în Visual Studio 2017

Rob Prouse
Rob Prouse
Răspuns editat 8 august 2017 в 12:22
54
0
Sanchal Kunnel
Sanchal Kunnel
26 aprilie 2017 в 3:00
2017-04-26T15:00:59+00:00
Mai mult
Sursă
Editează
#33042737

Am avut aceeași problemă și a luat-o de a lucra si de a face următoarele.. :

  • În primul rând aproape toate deschise Visual Studio instanțe și ștergeți acest dosar : %TEMP%\VisualStudioTestExplorerExtensions .(Teste cu Visual Studio)
  • Du-te la manager de pachete Nuget și să instalați Microsoft.NET.Test.Sdk(15.3.0-preview-20170425-07) mai întâi și apoi instalați xunit.runner.visualstudio(2.3.0-beta1-build1309). Vezi atașat Nuget screenshot pentru a vedea toate pachetele am avut de a instala pentru a obține cele mai recente VS 2017 să detecteze testele mele.Nuget Screenshot
40
0
 kidroca
kidroca
29 noiembrie 2017 в 2:19
2017-11-29T14:19:16+00:00
Mai mult
Sursă
Editează
#33042752

Uitând pentru a face testul de clasă publice prevenirea's metodele de testare în interiorul să fie descoperite

Am avut un default xUnit proiect și șterse proba UnitTest1.cs, înlocuindu-l cu un controler clasa de test, cu un cuplu de teste, dar niciunul nu a fost găsit

Poveste lungă scurt, după actualizarea xUnit, de Test.Sdk, xUnit.runner pachete și reconstrucția proiect am întâlnit o acumulare de eroare:

Eroare xUnit1000 clase de Test trebuie să fie publice

Din fericire, versiunea actualizată a aruncat această excepție pentru a mă scuti de unele probleme

Modificarea clasei de test să fie publică fix problema mea

31
0
 MiguelSlv
MiguelSlv
23 noiembrie 2017 в 11:19
2017-11-23T11:19:22+00:00
Mai mult
Sursă
Editează
#33042751

În cazul meu, am viza proiectul de testare a x64 Arhitectura si testul stabilirea Arhitecturii (test->Implicit Arhitectura de Procesor ) s-a schimbat a fost setat la x86. Ei nu't de meci.

După setarea înapoi la testul de stabilire Arhitectură a `x64 și reconstrui toate testele au fost descoperite din nou.

10
0
 hartmape
hartmape
16 iunie 2017 в 10:45
2017-06-16T10:45:27+00:00
Mai mult
Sursă
Editează
#33042742

Am avut probleme cu VS 2017 a-mi găsi UnitTest la fel de bine. Nu a fost't problema exact John a întrebat - dar asta a fost primul rezultat in google că am venit în căutarea pentru atât am vrut să împărtășesc problema mea.

Am avut o moștenire soluție întoarce din VS2010 peste VS2013, VS2015. Acum în VS2017 se pare spații de nume pentru [TestMethod] Atribut s-au schimbat.

Înainte de a utiliza

Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0

Am creat un nou Test.dll în proiect și că cel utilizat în mod implicit

Microsoft.VisualStudio.TestPlatform.TestFramework, Version=14.0.0.0

Deci solutia mea a fost de a crea un nou UnitTest proiect din cadrul VS2017. Poate că schimbarea de asamblare referințe pentru vechiul proiect de test ar fi lucrat la fel de bine. Cu noua referință VS2017 v-a descoperi acele teste unitare.

7
0
Lex Li
Lex Li
17 martie 2017 в 6:52
2017-03-17T18:52:55+00:00
Mai mult
Sursă
Editează
#33042733

Don't citit din data de articole sub MSDN. .NET Core materiale relevante sunt sub docs.microsoft.com

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

În general vorbind, ai nevoie de un .NET Core consolă aplicație conține unitatea de cazuri de testare.

6
0
Alex Altotsky
Alex Altotsky
4 aprilie 2017 в 2:18
2017-04-04T02:18:21+00:00
Mai mult
Sursă
Editează
#33042736

Fi sigur că utilizați Microsoft corect.NET.Test.Sdk-ul:

<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />

Nu utilizați pre-lansare unul. Sau trebuie să se schimbe pentru a consola app (nu library). Am o problemă similară, dar cu cea mai recentă versiune (15.0.0) începe să funcționeze din nou.

De asemenea, trebuie să adăugați:

  <ItemGroup>
    <Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" />
  </ItemGroup>

dar eu nu cred că este necesar.

5
0
Marcin Tarsier
Marcin Tarsier
29 ianuarie 2018 в 2:19
2018-01-29T14:19:22+00:00
Mai mult
Sursă
Editează
#33042754

Stiu ca OP a enumerat pe lista de verificare, dar's ușor de trecut cu vederea acel moment în timp ce faci curat instalați Visual Studio 2017 și înființarea nou proiect. În afară de NUnit șablon de proiect și NUnit Cadru unul are nevoie pentru a instala NUnit adaptor separat, de exemplu, folosind NuGet comanda Instala-Pachet NUnit3TestAdapter -Versiunea 3.9.0. După aceea Visual Studio Community 2017 început descoperirea teste unitare, fără probleme.

5
0
 TARJU
TARJU
30 august 2018 в 12:34
2018-08-30T12:34:36+00:00
Mai mult
Sursă
Editează
#33042761

pentru mine problema a fost din greșeală am pus testcases într-o clasă internă

[TestClass]
  internal class TestLib {
}

care a fost cauza testcases nu a fost identificat.

4
0
 jamo
jamo
7 septembrie 2017 в 7:57
2017-09-07T07:57:04+00:00
Mai mult
Sursă
Editează
#33042746

În cazul meu Test Explorer n't găsi testele mele dupa ce m-am mutat la un nou proiect de soluție.

Răspunsul a fost pur și simplu că am avut o trimitere la vechiul MS Adaptor de Testare în proiectul meu.

Am avut un duplicat de pe linia de mai jos pentru versiunea 1.1.11 de MS Adaptor de Testare în cs.proj:

<Import Proiect="..\pachete de\MSTest.TestAdapter.1.1.18\build\net45\MSTest.TestAdapter.recuzita" Condition="Exists(&#39;..\packages\MSTest.TestAdapter.1.1.18\build\net45\MSTest.TestAdapter.props&#39;)" />

Pentru a repara problema,

  1. Click dreapta pe proiect și selectați Descărca Proiect.
  2. Click dreapta pe proiect și selectați Editare
  3. Scoateți linia care importurile versiune veche de adaptor.
  4. Click dreapta pe proiect și selectați Reload Proiect.
  5. Reconstrui Soluția/Proiectul
3
0
 dahui
dahui
29 august 2018 в 3:04
2018-08-29T15:04:01+00:00
Mai mult
Sursă
Editează
#33042760

Doar a avut această problemă cu visual studio fiind în imposibilitatea de a găsi testele mele, n't vedea butonul de a alerga-le în afară de metoda, și nu au fost't luat prin rularea tuturor testelor în proiect.

Pare-mi clasa de test a fost't public! Făcându-l public permis VS pentru a descoperi teste.

3
0
 Jaider
Jaider
7 august 2017 в 3:28
2017-08-07T03:28:38+00:00
Mai mult
Sursă
Editează
#33042743

Pentru mine a fost mai ușor pentru a crea un nou proiect de test, care funcționează perfect cu Visual Studio 2017... și copia doar fișierele de test, se adaugă referințe, și pachete NuGet după cum este necesar.

introduceți descrierea imaginii aici

2
0
Henrik Gering
Henrik Gering
8 decembrie 2017 в 11:19
2017-12-08T11:19:53+00:00
Mai mult
Sursă
Editează
#33042753

În cazul meu, a fost un proiect pe care am avut-actualizat proiectul de testare dintr-o mai devreme .Versiunea Net. în aplicația.config am avut assemblybindings la versiunile anterioare ale dependent ansambluri.

După fixarea assembnlybindings în aplicația.config, testele mele am descoperit.

2
0
 ebol2000
ebol2000
1 februarie 2018 в 7:12
2018-02-01T19:12:43+00:00
Mai mult
Sursă
Editează
#33042755

Descoperire

Top răspunsurile de mai sus nu au de lucru pentru mine (repornirea, calculatorul actualizarea la versiunea 1.1.18 ... am fost deja actualizat, șterge fișierele temporare, clearning NuGet cache etc).

Ceea ce am descoperit este că am avut diferite referiri la MSTest.TestAdapter și MSTest.Cadru în testare diferite proiecte (soluția mea a doua). Unul a fost subliniat 1.1.18 ca...

pachetele.config

<package id="MSTest.TestAdapter" version="1.1.18" targetFramework="net461" />
<package id="MSTest.TestFramework" version="1.1.18" targetFramework="net461" />

... dar altul are trimiteri la 1.1.11. Unele dintre răspunsurile de mai sus duce la această descoperire, atunci când două versiuni de biblioteci apărut în directorul temp (%TEMP%\VisualStudioTestExplorerExtensions\), după repornirea Visual Studio.

Soluție

Pur și simplu actualizarea meu de pachete.config la 1.1.18 versiune este ceea ce mi-a restaurat unitatea teste de funcționalitate în VS. Se pare că există unele bug-uri care nu permit side-by-side referințe de MSTest biblioteci. Sper că acest lucru vă ajută.

Mai multe informații:

  • Visual Studio 2017 Orl: 15.5.6 (am avut actualizate din 15.0.1 cu speranțe la repara această problemă, dar am avut în ambele)
 ebol2000
ebol2000
Răspuns editat 1 februarie 2018 в 7:17
2
0
 domenu
domenu
25 iunie 2018 в 7:56
2018-06-25T07:56:32+00:00
Mai mult
Sursă
Editează
#33042758

Solutia a fost scoaterea meu app.config file din unitatea mea de testare a proiectului. Testele va re-apărea!

Acest fișier referire unele dll's în bindingredirects care nu erau de fapt prezente în proiectul de referințe. Re-adăuga assemblybindings care sunt strict necesare pentru proiectul dumneavoastră.

2
0
 Liero
Liero
31 martie 2017 в 12:52
2017-03-31T12:52:14+00:00
Mai mult
Sursă
Editează
#33042734

În cazul meu, a fost UWP proiect prezente în soluție cauzează problema.

Când m-am descărcat UWP proiect, testele au fost descoperite. Când am încărcat-o înapoi, de testare a dispărut din nou.

Încercați să descărcați toate proiectele și să păstreze proiectul de testare numai. Zece reconstrui soluție și test shound apar în Test Runner. Sarcina proiecte, unul câte unul și de a reconstrui soluție de fiecare dată pentru a afla ce proiect sunt cauza problemei

eșantion repo

VS bug report

1
0
Tanya Fomenko
Tanya Fomenko
4 aprilie 2018 в 9:05
2018-04-04T09:05:57+00:00
Mai mult
Sursă
Editează
#33042757

Scoaterea vechi .dll ar trebui să ajute. Compensare temp fișiere situat în directorul %TEMP% la C:\Users(numeletau)\AppData\Local\Temp

1
0
 t3chb0t
t3chb0t
18 august 2017 в 9:21
2017-08-18T09:21:53+00:00
Mai mult
Sursă
Editează
#33042744

Am'am încercat totul, dar nimic nu a ajutat. În cazul meu, am avut o soluție cu mai multe proiecte-pilot și unii dintre ei au fost folosind vechiul ms-cadru de testare atât de Visual Studio găsit doar acele.

Am instalat cadru de testare pachete pentru toate proiectele-pilot cum se arată în răspunsul acceptat. Apoi eliminate referirile la calitatea vechi-unelte, repornit Visual Studio și acum pot vedea toate testele.

1
0
Adăugati o întrebare
Categorii
Toate
Tehnologii
Cultură
Viață / Artă
Stiință
Profesii
Afaceri
Utilizatori
Toate
Nou
Populare
1
工藤 芳則
Înregistrat 6 zile în urmă
2
Ирина Беляева
Înregistrat 1 săptămână în urmă
3
Darya Arsenyeva
Înregistrat 1 săptămână în urmă
4
anyta nuam-nuam (LapuSiK)
Înregistrat 1 săptămână în urmă
5
Shuhratjon Imomkulov
Înregistrat 1 săptămână în urmă
DE
ES
FR
ID
JA
KO
PT
RO
RU
TR
ZH
© kzen.dev 2023
Sursă
stackoverflow.com
în cadrul licenței cc by-sa 3.0 cu atribuire