Adatvezérelt tesztek végrehajtása

Mielőtt belekezdene az adatvezérelt tesztek TAEF-el való végrehajtásának tippjeibe és trükkjeibe, győződjön meg róla, hogy tisztában van azzal, hogyan készíthet adatvezérelt teszteket, és hogyan hajthat végre teszteket a TAEF segítségével. Hasznos lehet frissíteni a memóriát arról, hogy a kijelölési lekérdezés hogyan működik a TAEF-lel is.

Ez a szakasz kifejezetten a táblaalapú adatvezérelt tesztek végrehajtásáról szól, de ugyanez az alapelv vonatkozik a PICT- és WMI-alapú adatvezérelt tesztekre is.

Ha csak az összes tesztet futtatni szeretné, beleértve az adatvezérelt teszteket is, nincs különbség a TAEF-lel való normál futtatástól. Vegyünk egy példát a CPP\DataDrivenExample és a CSharp\DataDrivenExample együttes futtatására a TAEF használatával. Ne feledje, hogy a TAEF alapértelmezés szerint a teszteket kívülről futtatja. Ha inproc módon szeretné futtatni őket, használja a "/inproc" kapcsolót.

TE.exe Examples\CPP.DataDriven.Example.dll Examples\CSharp.DataDriven.Example.dll

Tekintse meg a metaadatokat meghatározó XML-fájlokat és fejlécfájlokat. Csak az alábbiak szerint futtassa az adatvezérelt teszteket, amelyek prioritása 1:

TE.exe Examples\*.Tests.dll /select:"@DataSource=* And @Priority=1"

Ne feledje, hogy az xml-fájl sorszintjén megadott metaadatok felülbírálják a TestMethod szerzői szintjén megadott metaadatokat.

Vizsgáljuk meg egy kicsit jobban az adatvezérelt tesztek végrehajtásának erejét a TAEF használatával. Tegyük fel, hogy csak a FirstTable() függvény 3. sorát szeretné reprodukálni. Ezt a sor indexével teheti meg, amely 2 lesz (az index 0-nál kezdődik):

TE.exe Examples\CPP.DataDriven.Example.dll /select:"@Name='*FirstTable*' and @Data:index=2"

Figyelje meg, hogy a kiválasztási feltétel most már rendelkezik egy új névtérrel (@Data:), amely kifejezetten adatvezérelt tesztekhez használható. A fenti teszt futtatásakor láthatja, hogy az adatvezérelt tesztek esetében a tesztnevekhez hozzáfűzött szokásos "#index" helyett a tesztnévhez hozzá van fűzve a "#Black" – ez a sorhoz megadott speciális "Név" metaadatok. Részletekért lásd : Metaadatok megadása sorszinten . A különleges név ellenére továbbra is kiválaszthatja a nevet. Az index kiválasztása hosszú utat vehet igénybe egy sortartomány kiválasztásához egy igazán nagy adatkészlethez. Például, ha van egy 100 soros (maximális index = 99) adatvezérelt tesztje, és csak a 10-nél nagyobb és 20-nál kisebb indexű sorokat szeretné futtatni, most egyszerűen megadhatja ezt így:

TE.exe Examples\*.Tests.dll /select:"@Name='*MyDataDrivenTest*' and @Data:index > 10 and @Data:index < 20"

Gyakran szeretnéd egy bizonyos adatértékre alapozva reprodukálni, anélkül, hogy meg kellene keresni az indexét. Ebben az esetben ismét használhatja a "@Data:" névteret. Most tegyük fel, hogy az egységtesztek natív példájában (lásd az adatvezérelt tesztek készítését) csak azokat az eseteket szeretné futtatni, amikor a "Téma" az "AeroBasic".

TE.exe Examples\CPP.DataDriven.Example.dll Examples\CSharp.DataDriven.Example.dll /select:"@Data:Theme='AeroBasic'"

Ez a következő módon jelenik meg a konzolon:

StartGroup: WEX::TestExecution::Examples::DataDrivenTests::SecondTable#2 [Process: 3588; Thread: 4584]
I am in second table.
Theme supplied as AeroBasic
EndGroup: WEX::TestExecution::Examples::DataDrivenTests::SecondTable#2 [Passed]
Summary: Total=1, Passed=1, Failed=0, Blocked=0, Not Run=0, Skipped=0

Az adatvezérelt tesztek esetében a /listproperties parancsot kihasználva megtekintheti az adatkészleteket és a metaadatokat (a teszt metódus szintjén és sor szinten megadott metaadatok kombinációját). Így

TE.exe Examples\CSharp.DataDriven.Examples.dll /listproperties

a különböző szinteken elérhető és megadott metaadatokkal és adatértékekkel együtt felsorolja az összes metódust (datadriven és egyéb).

Tekintse meg a metaadatok felülírását a sor szintjén, a tömbparaméter-típusok megadását és az egyszerű adatvezérelt példát , például a részletesebb betekintést biztosító útmutatókat.