/ / Има ли NUnit вграден начин за извикване на тестове от друга единица? - Nunit, тестване

Има ли NUnit вграден начин да повика тестове от друга единица? - Nunit, тестване

Трябва да се обадя на Тест от различна единица доизползвайте в текущата си единица (по единица имам предвид класа). Има ли NUnit инфраструктура за това или трябва просто да продължа да правя това, което правя, да инстанциирам класа и да се позовавам на метода?

Благодаря!

Отговори:

2 за отговор № 1

Ако те разбирам правилно, имаш единицатест в клас 1 и в рамките на който искате да проведете тест за единица в клас2. Понастоящем в рамките на теста на Class1 вие инстанциирате Class2 и извиквате метода за тестване. Вие предпочитате теста Class1 да направи нещо като "Nunit.RunTest (Class2.MyTest)".

Доколкото ми е известно, няма начин да направите товаNUnit. Ако имате общ код, който искате да използвате на няколко места, най-лесният начин е да създадете отделен метод, който и двете тестове могат да се обадят. Недостатъкът е, че няма да можете да споделяте методите за настройка и теоретични за двете.

Ако трябва да пуснете Setup и Teardown и за двата теста, предложението на Steve Gilham за използване на наследство може да е по-добър подход.

Като цяло, обаче, трябва да изпълнявате всички тестове на единици, когато се променят кодовете. Всеки тест трябва да се провежда на негова основа - наистина ли трябва да се обадите на един тест от друг?


0 за отговор № 2

Бихте ли разяснили какъв е случаят тук?

Най-очевидният автоматичен метод е наследството. Ако текущата тестова класа подкласира останалите класове, всички тестове ще бъдат изтеглени автоматично. Това е полезно за тестване на йерархии на обекти, където тестовият клас на единиците за базовия клас сам по себе си е основният клас за тестовите класове за всеки получен клас.