Teszt végrehajtás azonnali újratöltéssel

A Visual Studióban futtatott tesztfuttatások magukban foglalják a projekt létrehozását a bináris fájlok lemezen való frissítéséhez, mielőtt a Tesztplatformot használva végrehajtanák a teszteket. A Visual Studióban a buildelési idő a kód típusától függően változhat. Nagyobb megoldások esetén a buildek lehetnek a tesztfuttatás legdrágább részei.

A Visual Studio 2022-ben és újabb verzióiban a gyakori terhelésű tesztvégrehajtás lehetővé teszi a tesztelés végrehajtásának felgyorsítását a támogatott forgatókönyvek buildjeinek kihagyásával.

Mit támogatunk?

  • A .NET 6.0-s és újabb verzióit célzó C# és VB-projektek
  • A DEBUG-konfigurációhoz készült projektek tesztelése
  • Visual Studio 2022 és újabb verziók

Tesztvégrehajtás engedélyezése a gyakori újratöltéssel

Ezt a funkciót az Eszközök>beállításai panelen engedélyezheti. Nyissa meg az Összes beállítás>teszt szakaszt, és jelölje be a (Kísérleti) Hot Reloaded tesztfuttatások engedélyezése C# és VB tesztprojektek számára, amelyek .NET 6 és újabb verziókat céloznak meg jelölőnégyzetet.

Képernyőkép arról, hogyan választhatja ki a Gyakori terhelésű tesztfuttatások engedélyezése lehetőséget a Visual Studióban.

Ezt a funkciót az Eszközök>beállításai párbeszédpanelen engedélyezheti. Bontsa ki az Teszt>Általános szakaszt, és jelölje be a (Kísérleti) Hot Reloaded tesztfuttatások engedélyezése .NET 6-ot és magasabb verziókra célzó C# és VB tesztprojektekhez jelölőnégyzetet.

Képernyőkép arról, hogyan választhatja ki a Gyakori terhelésű tesztfuttatások engedélyezése lehetőséget a Visual Studióban.

Miért kísérleti?

Ez a funkció egy új módszert biztosít a tesztvégrehajtáshoz, amely megváltoztatja a kód ellenőrzéséhez széles körben használt elérési utat. A funkció felhasználói élménye változhat, mivel továbbra is visszajelzést kapunk. Ezen okok miatt a funkció jelenleg "kísérleti" címkével rendelkezik.

Hogyan működik?

Ha engedélyezve van a beállítás, a Test Explorer automatikusan a gyorstöltést használó tesztvégrehajtást használja, ha lehetséges. Ha a hot reload nem lehetséges, az visszatér a tesztek összeállításának és futtatásának megszokott folyamatához. Teszteket futtató felhasználóként nem kell módosítania a munkafolyamatot (azaz a kód szerkesztését és a tesztek futtatását).

A háttérben ugyanazt a Szerkesztés és Folytatás infrastruktúrát használjuk, amely az újonnan kiadott Hot Reload élményben található a C#/VB-kód futásidejű szerkesztéséhez a módosítások meghatározásához. Emiatt csak akkor alkalmazunk gyorstöltést, amikor nincsenek "durva módosítások"; ilyen esetben visszatérünk a tesztek elkészítéséhez, mielőtt végrehajtanánk őket. A támogatott szerkesztésekkel kapcsolatos további részletekért olvassa el a Szerkesztés és folytatás dokumentációt

Mennyivel gyorsabb a tesztvégrehajtás?

A funkció által megtakarított idő becslése során számos változó jön létre. Például:

  • Mennyi ideig tart a projekt buildelése.
  • Milyen típusú szerkesztés történt.
  • Mekkora a fájl, ahol a szerkesztés történt.
  • A szerkesztés helye (ha levélprojekt volt vagy sem).

Végső soron a sebességbeli fejlesztések közvetlenül kapcsolódnak ahhoz a buildelési időhöz, amely az adott tesztfuttatás során következett volna be.

Jegyzetek

  • Az első teszt a beállítás engedélyezése vagy a Visual Studio megnyitása után elindít egy projekt buildet.

  • Előfordulhat, hogy a szerkesztőben lévő fájlok nem lesznek mentve a tesztek futtatásakor. A probléma megoldásához és a bejelentkezés előtt győződjön meg arról, hogy teljes összeállítást végez (Ctrl+Shift+B).

  • A lemez bináris fájljai nem frissülnek a gyakori terhelésű újratöltődő teszt végrehajtásakor.

  • A forró újratöltött teszt végrehajtása nem működik a "Összes teszt>futtatása", a "Nézet összes tesztjének futtatása" lehetőséggel a Test Explorerben, valamint a Megoldáskezelő megoldáscsomópontjának Összes teszt futtatása lehetőséggel sem. A funkció nem működik ezekkel a parancsokkal, mert jelenleg a teljes megoldás kiépítését garantálják.

  • Ha a nem támogatott cél-keretrendszerekkel (a .NET 6.0-nál alacsonyabb) teszteket futtat, a projekt buildelése történik.

  • Ha ellentmondások vannak a lemezen lévő adatok és a Test Explorer által látottak között, próbálkozzon egy megoldás/projekt összeállításával a Ctrl + Shift + B billentyűparancsával, majd futtassa a teszteket. Bármelyik explicit build kicseréli a hot reload teszteredményeket a szokásos teljes build teszt eredményekre.

Ismert problémák

Az azonnali újratöltéssel végzett teszt végrehajtás a következő esetekben nem történik meg:

  • Kódlefedettség
  • Élő egység tesztelése
  • Profilkészítés
  • Hibakeresés

Előfordulhat, hogy a veremnyomok nem olvashatók olvashatatlan karakterek jelenlétében. Ezt a problémát itt követik nyomon, és a .NET 7.0-s kiadásában tervezik a javítást.

  • Ebben az esetben az ajánlott megoldás a projekt elkészítése és a teszt újrafuttatása.

A visszajelzések számítanak

Ahhoz, hogy ez a kísérleti funkció befejeződjön, visszajelzésre van szükségünk. Ha javaslata van a felhasználói élmény javítására, vagy bármilyen problémába ütközik, szánjon egy kis időt a bemenet megadására. Csak az Ön visszajelzésével biztosíthatjuk a kritikus problémák megoldását, és a jövőbeli döntéseket a bemenete alapján rangsoroljuk.

Visszajelzés küldéséhez használja a Visual Studio visszajelzési mechanizmusát.