Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az egységtesztek olyan kódrészletek, amelyek egy alkalmazásban más kódegységeket tesztelnek, általában izolált függvényeket, osztályokat stb. Ha egy alkalmazás megfelel az összes egységtesztjének, biztos lehet abban, hogy legalább az alacsony szintű programfunkció helyes.
A Python az egységtesztek széles körű használatával ellenőrzi a forgatókönyveket egy program tervezésekor. A Visual Studio Python-támogatása magában foglalja az egységtesztek felderítését, végrehajtását és hibakeresését a fejlesztési folyamat kontextusában, anélkül, hogy külön teszteket kellene futtatnia.
Ez a cikk rövid áttekintést nyújt a Visual Studio és a Python egységtesztelési képességeiről. Az egységtesztelésről általában lásd a Kódja egységtesztelése cikket.
Előfeltételek
A Windowson telepített Visual Studio a Python-számítási feladatok támogatásával van telepítve. További információ: Python-támogatás telepítése a Visual Studióban.
Python-projekt kóddal vagy Python-kóddal rendelkező mappával.
A Visual Studio for Mac nem támogatott. További információ: Mi történik a Mac Visual Studióval? A Visual Studio Code Windowson, Macen és Linuxon jól működik a Pythonnal az elérhető bővítményeken keresztül.
Tesztelési keretrendszer kiválasztása Python-projekthez
A Visual Studio két tesztelési keretrendszert támogat a Pythonhoz, a unittesthez és a pytesthez (a Visual Studio 2019 16.3-s és újabb verzióiban érhető el). Python-projekt létrehozásakor alapértelmezés szerint nincs kiválasztva keretrendszer.
Kövesse az alábbi lépéseket a Python-projekt tesztelési keretrendszerének kiválasztásához:
A Megoldáskezelőben kattintson a jobb gombbal a projekt nevére, és válassza a Tulajdonságok lehetőséget.
A projekt tulajdonságai panelen válassza a Teszt fület, és válassza ki a tesztelési keretrendszer típusát:
A unittest keretrendszer esetében a Visual Studio hozzárendeli a projekt gyökérkönyvtárát a tesztfelderítéshez. Az alapértelmezett érték,
.de a projektbeállítások konfigurálásakor megadhat egy másik helyet. A minta tesztfájlnévhez egy vagy több sztringet is megadhat, példáultest*.py, test_*.py.A pytest-keretrendszerhez a tesztelési beállításokat, például a teszthelyet és a fájlnévmintákat a standard pytest .ini konfigurációs fájl használatával adhatók meg. Alapértelmezés szerint a munkaterület/projekt mappa lesz használva a helyhez. Az alapértelmezett fájlnévminta tartalmazza a
test_*pyés a*_test.pyelemeket. További információkért tekintse meg a pytest referenciadokumentációját.
Megjegyzés:
A fájlnévminta definiálásakor ne feledje, hogy a speciális karakterek, mint az aláhúzásjel (
_), nem illeszkednek a helyettesítő karakterhez (*). Ha speciális karaktereket szeretne használni a fájlnévben, adja meg ezeket a karaktereket a mintadefinícióban, példáultest_*.py.A keretrendszer kiválasztásának és beállításainak mentéséhez használja a Ctrl+S billentyűparancsot.
A keretrendszer konfigurálása után a Visual Studio elindítja a tesztfelderítést, és megnyitja a Test Explorert.
Python-tesztelés konfigurálása projekt nélkül
A Visual Studio lehetővé teszi a meglévő Python-kód projekt nélküli futtatását és tesztelését egy Python-kóddal rendelkező mappa megnyitásával . Ebben a forgatókönyvben a tesztelés konfigurálásához egyPythonSettings.json fájlt kell használnia.
Nyissa meg a meglévő Python-kódot a Helyi mappa megnyitása lehetőséggel:
Python-mappa megnyitásakor a Visual Studio több rejtett mappát hoz létre a programhoz kapcsolódó beállítások kezeléséhez. Ha meg szeretné tekinteni ezeket a mappákat (és minden más rejtett fájlt és mappát, például a .git mappát) a Megoldáskezelőben, válassza az Összes fájl megjelenítése lehetőséget:
A Megoldáskezelőben bontsa ki a Helyi beállítások mappát, majd kattintson duplán a PythonSettings.json fájlra a fájl szerkesztőben való megnyitásához.
Megjegyzés:
A legtöbb konfiguráció két beállításfájlt jelenít meg: PythonSettings.json és ProjectSettings.json. Ebben a gyakorlatban módosítania kell a PythonSettings.json fájlt.
Ha nem látja a PythonSettings.json fájlt a Helyi beállítások mappában, manuálisan is létrehozhatja:
Kattintson a jobb gombbal a Helyi beállítások mappára, és válassza azÚj fájl> lehetőséget.
Nevezze el a fájlt PythonSettings.json, és a módosítások mentéséhez válassza az Enter billentyűt .
A Visual Studio automatikusan megnyitja az új fájlt a szerkesztőben.
A PythonSettings.json fájlban adja hozzá a következő kódot a
TestFrameworkdefiniálásához. Állítsa a keretrendszer értékét pytestre vagy unittestre a kívánt tesztelési keretrendszertől függően:{ "TestFramework": "unittest", "UnitTestRootDirectory": "testing", "UnitTestPattern": "test_*.py" }A unittest keretrendszer esetén, ha nem határoz meg konkrét értékeket a
UnitTestRootDirectoryésUnitTestPatternbeállítások számára a PythonSettings.json fájlban, a Visual Studio automatikusan hozzáadja ezeket a mezőket az alapértelmezett.éstest*.pyértékekkel.A pytest-keretrendszer esetében a konfigurációs beállítások mindig a pytest .ini konfigurációs fájlban vannak megadva, nem pedig a Visual Studio beállításain keresztül.
Ha a Python-program a teszteket tartalmazó mappától eltérő src mappát tartalmaz, adja meg az src mappa elérési útját a
SearchPathsPythonSettings.json fájlban lévő beállítással:"SearchPaths": [".\\src"]Mentse a módosításokat a PythonSettings.json fájlba.
A keretrendszer konfigurálása után a Visual Studio elindítja a megadott keretrendszer tesztfelderítését. A teszt a Test Explorerben érhető el.
Tesztek hozzáadása és felderítése
Alapértelmezés szerint a Visual Studio az unittest és a pytest teszteket olyan metódusként azonosítja, amelyek neve a következővel testkezdődik: .
Ha meg szeretné tudni, hogyan kezdeményezi a Visual Studio a tesztfelderítést, kövesse az alábbi lépéseket:
Nyisson meg egy Python-projektet a Visual Studióban.
Adja meg a projekthez tartozó tesztelési keretrendszer tulajdonságait a Python-projekt teszt keretrendszerének kiválasztása című szakaszban leírtak szerint.
A Megoldáskezelőben kattintson a jobb gombbal a projektre, és válassza azÚj elem> lehetőséget.
Az Új elem hozzáadása párbeszédpanelen válassza ki a Python egységteszt fájltípusát.
Adjon meg egy fájlnevet, amely megfelel a projekt tulajdonságaihoz megadott mintadefiníciónak.
Válassza a Hozzáadás lehetőséget.
A Visual Studio létrehozza a tesztfájlt az alapértelmezett kóddal:
import unittest class Test_test1(unittest.TestCase): def test_A(self): self.fail("Not implemented") if __name__ == '__main__': unittest.main()Ez a kód importálja a standard
unittestmodult, és egy tesztosztályt hoz létre aunittest.TestCasemetódusból. Amikor közvetlenül futtatja a szkriptet, ez a kód a függvénytunittest.main()is meghívja.
Új tesztfájlok hozzáadásakor a Visual Studio elérhetővé teszi őket a Test Explorerben.
Tesztek megtekintése a Test Explorerrel
Miután konfigurálta a tesztelési keretrendszert és a tesztfájlokat, a Visual Studio teszteket keres, és megjeleníti őket a Test Explorerben.
Íme néhány módszer a Test Explorerrel való együttműködésre:
A Test Explorer ablak megnyitásához válassza a Test>Test Explorer lehetőséget.
Amikor meg van nyitva a Test Explorer ablak, használja a CTRL+R, A billentyűparancsot a tesztfelderítés elindításához.
Kattintson duplán egy tesztre a Test Explorerben a megfelelő forrásfájl megnyitásához a szerkesztőben:
A tesztek nézetét szervezze az eszköztár Csoportosítás szerint lehetőségével.
A tesztek szűrése név szerint a Keresőmezőbe írt szöveg beírásával:
Futtassa a teszteket , és tekintse meg a tesztfuttatás állapotát a következő szakaszban leírtak szerint.
A modullal és a unittest tesztek írásával kapcsolatos további információkért tekintse meg a Python dokumentációját.
Tesztek futtatása a Test Explorerrel
A Test Explorerben többféleképpen futtathat teszteket:
- Válassza az Összes futtatása (a nézetben lévő tesztek) lehetőséget az aktuális nézetben megjelenített összes tesztnek a szűrőbeállítások alapján történő végrehajtásához.
- A Futtatás menü parancsaival sikertelen, sikeres vagy nem futtatott teszteket futtathat csoportként.
- Jelöljön ki egy vagy több tesztet, majd kattintson a jobb gombbal, és válassza a Kijelölt tesztek futtatása lehetőséget.
A Visual Studio a háttérben futtatja a teszteket. A Test Explorer frissíti az egyes tesztek állapotát, miközben befejeződik:
A sikeres tesztek zöld pipát mutatnak és feltüntetik a tesztfuttatás befejezésének idejét.
A sikertelen tesztek egy piros X-t mutatnak egy kimeneti hivatkozással, amely a konzol kimenetét és
unittesta tesztfuttatás kimenetét jeleníti meg:
Tesztek ellenőrzése a hibakeresővel
Az egységtesztek olyan kódrészletek, amelyek a többi kódhoz hasonló hibáknak vannak kitéve, és időnként hibakeresőben kell futtatni őket. A Visual Studio Hibakeresőben töréspontokat állíthat be, megvizsgálhat változókat, és végiglépkedhet a kódon. A Visual Studio diagnosztikai eszközöket is biztosít az egységtesztekhez.
Tekintse át az alábbi pontokat a tesztek Visual Studio Hibakeresővel való ellenőrzéséről:
A tesztelési hibakeresés alapértelmezés szerint a Visual Studio 2019 16.5-ös és újabb verziójához készült hibakeresőt használja. A Visual Studio néhány korábbi verziója a ptvsd 4 hibakeresőt használja. Ha a Visual Studio korábbi verzióját használja, és a ptvsd 3 hibakeresőt részesíti előnyben, válassza az Örökölt hibakereső használata lehetőséget az Eszközök>beállításai>Python-hibakeresés> területen.
A hibakeresés megkezdéséhez állítson be egy kezdő töréspontot a kódban, majd kattintson a jobb gombbal a tesztre (vagy egy kijelölésre) a Test Explorerben , és válassza a Kijelölt tesztek hibakeresése lehetőséget. A Visual Studio az alkalmazáskódhoz hasonlóan elindítja a Python hibakeresőt.
Tetszés szerint használhatja a kiválasztott tesztek kódlefedettségi elemzését. További információkért lásd: Hogyan használjuk a kódlefedettséget annak meghatározására, mennyi kód van tesztelve.