Megosztás a következőn keresztül:


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

A funkció engedélyezéséhez válassza a Tesztelési>beállítások>lehetőséget"(Kísérleti) A gyakori újratöltésű tesztfuttatások engedélyezése c# és VB tesztprojektekhez a .NET 6-os vagy újabb verziójú tesztprojektekhez". Képernyőkép a Visual Studio Tesztbeállítások lapján található Gyakori elérésű tesztfuttatások engedélyezése gombról. Ha ezt a beállítást választja, a tesztek végrehajtása a gyakori újratöltést fogja használni a támogatott forgatókönyvekhez

Miért kísérleti?

Ez egy új módszer a tesztelés végrehajtására, ahol módosítjuk a kód érvényesítésének széles körben használt elérési útját. Azt is várjuk, hogy a funkció felhasználói élménye megváltozik, mivel további visszajelzéseket kapunk a felhasználóktól. E két okból jelenleg ezt a funkciót "kísérletinek" címkéztük.

Hogyan működik?

Ha a beállítás engedélyezve van, a Test Explorer automatikusan használja a tesztvégrehajtást a gyakori újratöltéssel, ha lehetséges. Ha a gyors újratöltés nem lehetséges, az visszatér a tesztek szokásos építési és futtatási módjára. 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 motorháztető alatt ugyanazt a Szerkesztés és folytatás infrastruktúrát használjuk, amely a nemrég kiadott forró újratöltés élményben található a C#/VB-kód futásidő alatti szerkesztéséhez, hogy meghatározzuk a végrehajtott módosításokat. 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 lesz gyorsabb a teszt végrehajtása?

Számos változó játszik szerepet, amikor megbecsüli, hogy mennyi időt takarít meg ez a funkció. 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 az adott tesztfuttatásban bekövetkezett buildelési időhöz.

Jegyzetek

  • A lehetőség engedélyezése vagy a Visual Studio megnyitása után az első teszt egy projekt buildelésével jár.
  • 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ésű tesztvégrehajtás nem működik a ">Összes teszt futtatása", a "Minden teszt futtatása nézetben" lehetőséggel a Test Explorerben, sem pedig a Megoldáskezelő megoldáscsomópontjának Összes teszt futtatása funkciójával. 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 bármilyen ellentmondást lát a lemezen lévő és a Test Explorer által látottak között, fontolja meg egy megoldás/projekt összeállítását a Ctrl+Shift+B billentyűkombináció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

  • A forró újratöltéssel végzett tesztvégrehajtás nem történik meg a következő esetekben:
    • Kódlefedettség
    • Élő egység tesztelése
    • Profilkészítés
    • Hibakeresés
  • Előfordulhat, hogy a veremnyomok nem olvashatók az olvashatatlan tokenek jelenléte miatt. 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 alternatív megoldás a projekt elkészítése és a teszt újbóli futtatása.

A visszajelzések számítanak

Ahogy korábban említettük, ahhoz, hogy ez a kísérleti funkció befejeződjön, visszajelzést kérünk. Ha javaslata van a felhasználói élményről, vagy bármilyen problémába ütközik, kérjük, szánjon egy kis időt a problémák bejelentésére. 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.

Ha el szeretne érni minket, használja a Visual Studio visszajelzési mechanizmusát.