Van/volt a Microsoft Research-nek egy Pex nevű kis Visual Studio Extensionje. Automatikusan képes volt Unit teszteket generálni. Nem egyszerűen permutálta egy tesztelendő metódus paramétereit, hanem belenézett a kódjukba, kihalászta belőle a literálokat (a == 3, case “alma”, b *= 4, ezekből a 3, 4 és amát), és ezeket is felhasználva generált paramétereket a teszteléshez. Miközben futtatta a tesztelt kódot, közben profilerrel nézte mely ágakat fedte le, így addig próbálta nyúzni a kódot, míg 100%-os lefedettséget nem ért el. Null és üres string ellenőrzési hiányosságokat, túlcsordulásokat és tömb túlcímzéseket másodpercek alatt ki tudott váltani. A generált unit teszteket aztán át lehetett mozgatni a saját tesztjeink közé.
No, sajnos a Pex egyelőre meghalt, a cimboráját, a Moles-s termékesítették, ez lett a Fakes, de ő kimaradt ebből a menetből. Így ő csak VS 2010-ben futtatható, újabbakban nem.
Cserébe viszont most kiadtak egy “Pex light”-ot, ez a Code Digger.
Ugyanaz az engine van benne, mint a Pexben, csak nem generál a metódus macerálás végén unit teszteket, csak megmutatja, melyik paraméterre mit reagált.
Egy-egy kényesebb metódusra érdemes lefuttatni, tanulságos lehet.
Could you hire me? Contact me if you like what I’ve done in this article and think I can create value for your company with my skills.
LEAVE A COMMENT
2 COMMENTS
—————————
Code Digger not supported in this project.
—————————
Code Digger is only supported for Portable Libraries. Please transfer your code into a Portable Library and go to the settings to disable this limitation.
—————————
Tools/Options and Settings/Pex, itt ki lehet kapcsolni ezt a megkötést.