Loading...
a.polyanska avatar a.polyanska 107 Точки

[Homework] КПК - Компонентно тестване

Здравейте,

Боря се със домашното за юнит тестовете. Като цяло уж ми е ясна материята и нещата са логични, но нещо още ми е мътно и  не се доразбирам с Visual Studio-то и ще съм благодарна на малко помощ от по-разбиращите. Ето тестовете на DynamicList-овете от условието: тук

 

Първото ми питане е: Как се тестват пропъртитата? Нещо не мога да включа в контекста на тестовете как да стане.

Второ: Уж всички тестове минават, а когато поискам code coverage ми дава 0%. Излиза ми това съобщение: "Empty results generated: No binaries were instrumented. Make sure the tests ran, required binaries were loaded, had matching symbol files, and were not excluded through custom settings." Кое пропускам?

И трето: В част от тестовете съм сложила messages, но по някаква причина те не излизат, когато задам грешен тест. Някой знае ли коя е тази някаква причина? :)

 

0
C# OOP Advanced 30/03/2015 12:07:26
Filkolev avatar Filkolev 4482 Точки

Колежке,

Извинявай, че се намесвам в темата, но искам и аз да задам един въпрос. Някой намерил ли е безплатен user friendly code coverage tool за VS Community?

Бях чул, че СофтУни има лицензи за всички продукти на JetBrains, а те имат ето това:  https://www.jetbrains.com/dotcover/

Имаме ли наличен лиценз за него? 

Относно тестването на пропъртитата, просто правиш обект или сетваш негово поле на дадена стойност. Подаваш невалидна стойност и казваш, че очакваш ексепшън. Отвъд това не виждам какво има да им се тества. Точно списъка не е особено добър пример за тестване на пропъртита, понеже там имаш един масив и другото са методи за операции с него.

По втория въпрос, тук препоръчват да изтриеш .suo файла. Виж дали ще сработи.

1
Filkolev avatar Filkolev 4482 Точки

Малко се развали качеството на снимката, но се вижда, че при мен излиза съобщението на фейлнатия тест. Може би не гледаш където трябва?

Линк: http://prikachi.com/images/871/7936871L.jpg

1
a.polyanska avatar a.polyanska 107 Точки

Хм, сега тръгна това със съобщенията (на съвсем правилното място съм си гледала). Това, което е променено- не знам има ли общо- е, че изтрих .suo файла, за да тръгне code coverage-ът. Който, обаче, не тръгна....

0
a_rusenov avatar a_rusenov 1103 Точки

Това с 0% code coverage е наистина интересен проблем, от който се оплакаха няколко души след лекцията. Доколкото и аз се рових, открих, че трябва да изтриеш .suo файла, но изглежда не помага. Пробвай да създадеш друг solution + проект и виж дали и там дава 0%.

Относно тестването на пропъртита - тестваш ги дотам, доколкото е нужно (обикновено тестваш валидациите в сетърите с [ExpectedException]). Гетърите не се тестват дотолкова дали връщат правилни данни (особено ако е автоматичен гетър), а по-скоро да видиш дали някой друг метод работи правилно (както например тествахме Push() на стека, който е void и не връща резултат, като assert-вахме дали Count се увеличава). Сорс кодът от лекцията е качен в страницата на курса.

Лицензи за dotcover нямаме.

0
23/02/2015 20:33:43
a.polyanska avatar a.polyanska 107 Точки

Създадох си нов сълюшън и проект и копирах кода вътре (нали правилно съм разбрала инструкциите?) и резултатът е същият- 0% и туй то. Пак изтрих .suo файла и пак 0%.

Лекцията я изгледах внимателно, но, честно казано, и през ум не ми мина, че с различните тестове (Push()) тестваме и пропърти :) Благодаря за насоките и подробното обяснение.

0
a_rusenov avatar a_rusenov 1103 Точки

Добре, пробвай да изтеглиш решението от лекцията и виж дали и на чужд проект ще имаш 0%.

0
a.polyanska avatar a.polyanska 107 Точки

Пробвах, получава се същото. Ни дума, ни вопъл, ни процент над нула. Явно грешката е в моя телевизор. Да не трябва някакви допълнителни настройки да се правят?

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