Професионална програма
Loading...
IvelinaVasileva avatar IvelinaVasileva 20 Точки

[Homework]High-Quality Code - Refactoring - Unit Tests???

Здравейте, колеги! 

Захванала съм се с домашното по темата Refactoring, рефакторирах си кода, но с тия Unit Test-ове не мога да се справя. Понеже всички отделни методи, които участват в "обхождането" на матрицата, ги направих private и ги обединих в един общ публичен метод WalkMatrix(), сега ми е трудно да измисля какво точно да му тествам на този метод. Дотук съм направила един тест с единична матрица (с 1 ред и 1 стълб) и един, който си тества при по-голямо число дали в правилен ред се обхождат клетките. Ако някой от вас е подходил по този начин и се е сетил за по-подробни начини за тестване, ще се радвам да сподели. smiley

Направих и PrintMatrix() метод, но и при него ми е чудно какво да му тествам. Като цяло, да си призная, много се обърквам в измислянето на unit test-ове. laugh

0
C# OOP Advanced
bomman avatar bomman 42 Точки

Здравей, мисля че трябва да поработиш над 2рата задача:

2. Make the code testable.

  • Think how to test console-based input / output.

Тъй като поне аз до сега не знам как да тествам private methods.

Поздрави!

0
IvelinaVasileva avatar IvelinaVasileva 20 Точки

Ами да, на мен всъщност тук ми е проблема. Пък и нали тестваме само публични методи. Точно за output не мога да измисля как точно да го тествам.

0
RFilipov avatar RFilipov 136 Точки

Input - Method Overload:

private ReadInput();

public ReadInput(string testInput) и тестваш този метод, който е идентичен на горния, но вместо със конзола работи със тестовия стринг.

Output: FileWriter.

Записваш във файл и след това прочиташ ред по ред и сравняваш.

2
IvelinaVasileva avatar IvelinaVasileva 20 Точки

Благодаря много за помощта!

0