03. Mocking and JustMock [Homework]


0
Понеже гледам, че не се разисква домашното от тази лекция пускам тази тема. Аз стигнах до тук - Цък . Някакви идеи дали, това което съм написал е така както трябва да бъде? :D



Отговори



0

Извинявам се , че няма да ти отговоря на въпроса, а ще си задам мой.Понеже все още си изяснявам темата, това според вас unit тестове ли са или интегрейшън ?

http://pastebin.com/GfgE69wG

Имам някъв клас Course , който конструктора му приема като параметри някакво име и някакъв лист от студенти.И като правя съответните тестове освен че тествам пропъртито за името , ами и се тества дали се сетва листа със студенти .

Тоест един вид тествам 2 неща. Ако може някой да обясни.


от encho.enevski (316 точки)


1

това са екстра тестове, с една забележка (особенно за втория тест, съдето има ArgumentNullException),

твърде вероятно е да хвърля същото прекъсване заради нулев списък new List<IStudent>(), тоест не можеш да го разграничиш от нулева стойност на value. затова, може би е уместно да проследиш message-a от прекъсването - например, ако е генериано с

throw new ArgumentNullException("name can not be null");, преправяш assert-a така

var ex = Assert.Throws<ArgumentNullException>(() => new Course(value, new List<IStudent>());
Assert.AreEqual(ex.Message, "name can not be null");

по този начин проследяваш откъде идва прекъсването!


от mitkop (578 точки)

1
Така Стрингове, интове, листове и други работи не трябва да се мокват, така че няма проблем да си ги подаваш директно, но всякакви други неща, които нямат връзка с това което тестваш трябва да бъдат мокнати иначе тогава вече тестваш повече от една функционалност дари работи, а тебе те интересува само едно нещо да работи, за това всичко другото изкуствено го подаваш......

от IliyaST (251 точки)