Otázka:
Môžem použiť samostatnú testovaciu jednotku pre podskupinu testov jednotiek v mojej zostave? Všetky tie, ktoré by potrebovali samostatný proces bežca, sú obsiahnuté v jedinom .dll
Alebo aspoň je možné špecifikovať poradie jednotkových testov?
Pozadie:
Mám nejaké testy, ktoré sa testujúintegrácia s natívnymi komponentmi, ktoré robia procesnú pamäť špinavou a tak vo výrobnom kóde recyklujem svoj proces po ich použití. (je to python integrácia pre .net a niektoré balíčky nie sú určené pre python pre uvoľnenie a opätovné načítanie). Jednotkové testy sú však izolované iba aplikačnými doménami - takže stále zostávajú v rovnakom procese a môžu sa zhromažďovať.
odpovede:
1 pre odpoveď č. 1Na vytvorenie inej testovacej skupiny môžete použiť atribút [TestCategory] NUnit. Po zoskupení môžete spustiť iba špecifickú skupinu zo servera TeamCity. Môžete ju tiež rozdeliť do rôznych krokov.
Ale aj ako variant môžete použiť atribúty [OneTimeSetUp] a [OneTimeTearDown].
Užitočné odkazy:
- https://msdn.microsoft.com/en-us/library/dd286683.aspx - popis atribútu TestCategory.
- http://nunit.org/docs/2.5/consoleCommandLine.html - ako môžete spustiť testovacie kategórie z nunit-console.
- https://confluence.jetbrains.com/display/TCD9/Getting+Started+with+NUnit#GettingStartedwithNUnit-Case1.CommandLine ako by ste mohli používať nunit-console vo vnútri tímu.
Druhý prístup:
- https://github.com/nunit/docs/wiki/OneTimeSetUp-Attribute
- https://github.com/nunit/docs/wiki/OneTimeTearDown-Attribute
0 pre odpoveď č. 2
Ukázalo sa, že TeamCity podporuje oddelenie testovacích zostáv podľa jednotlivých testovacích procesov - voľba s názvom "Spustiť proces na zostavu" v konfiguračnom kroku NUnit:
Viac informácií tu: https://confluence.jetbrains.com/display/TCD10/NUnit (vyhľadávanie "Spustiť proces na zhromaždenie")