UniTest работи

7 отговора 432 прегледа
#1

UniTest работи

Аве пичове, как си тествате internal класовете? :-) Пишете си тестовете в титулното асембли ли? Че за друг начин не се сещам ........

Отговор
в отговор на sheva #2

Re: UniTest работи

... което е малко гадно, щото титулното асембли трябва да референсва и Mock асемблитата и всякакви такива неприятни неща. Някакви идеи?

Отговор
в отговор на sheva #3

Re: UniTest работи

Мии .. зависи с какво си правиш тестовете?

Вградената тествачка на VS 2005, ти генерира аксесори на интернал класове, и малко куцо мож да ги тестваш през тях. Иначе можеш и сам да си ги рефлектнеш, ама ще се поузориш ... и аз не мисля, че е готино да си пишеш тестовете в същото асембли :-)

-------------
Special killer double trouble triple extra nicotine monster!
Отговор
в отговор на sheva #4

Re: UniTest работи

Толкова зле ли пишете че трябва и да си тествате кода?

Отговор
в отговор на z_free #5

Re: UniTest работи

До такава степен не вярваш, че студиото ще прави такова нещо, че изобщо не бях пробвал .... с аксесори ще го давам. ;-)

Отговор
в отговор на XaMaB2 #6

Re: UniTest работи

И дебъгер ползваме даже ...

Отговор
в отговор на sheva #7

Re: UniTest работи

Ако за .нет 2.0 става реч, може да ги отделиш в partial class за по-чисто. Или като алтернатива да ползваш InternalsVisibleToAttribute за асемблито. Повече инфо на [линк]

Отговор
в отговор на sheva #8

Re: UniTest работи

Най-елитното решение е да си държиш тестовете в същото асембли и в рилийз билда да ги изключваш. С голям успех съм го правил това -- примерно рилийз билда става с NAnt, където е елементарно да изключиш от файлсета със сорса поддиректорията Tests и да махнеш рефърънса към nunit.framework и подобните асемблита.

Иначе съм съгласен, че най-лесно да си държиш тестовете в отделно асембли и да правиш някои неща публични, за да си улесниш тестването. Сега, който иска да разправя, че е гадно да правиш повече работи публични -- моите наблюдения са, че обикновено си струва.

Между другото, ако пишеш на .NET 2 -- там има една гъзария, където от друго асембли можеш да пипаш internal членовете на твоето асембли. Звучи перфектно за целта, но не съм го пробвал.

Отговор