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 43 Точки

Здравей, мисля че трябва да поработиш над 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
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.