Професионална програма
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
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
a_rusenov avatar a_rusenov 1103 Точки

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

0
a_rusenov avatar a_rusenov 1103 Точки

Изглежда ок. Може ли да качиш целия си проект в github, за да проверим дали проблемът е от него или от твоето VS?

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

След кратка борба мисля, че аз победих ГитХъба :) ето

0
a_rusenov avatar a_rusenov 1103 Точки

Ами, изтрих генерираните тестове + bin + obj папките и тръгна code coverage при мен. Ако и това не помогне, наистина нямам решение. На следващата лекция (утре в сряда) ще разгледаме по-подобно с колегите, които имат този проблем. Ще пишем в тази тема щом открием решение. :)

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

Извинявай, не разбрах- папката TestResults ли изтриваш? Това ли са генерираните тестове? Аз поне не виждам друго, което мога да оприлича на това, но когато изтрия тази папка и отворя проекта, казва, че няма налични тестове. А не виждам друго за триене. surprised

0
nedjo avatar nedjo 53 Точки

Не знам дали е от това, но и аз в първият момент на тестовете имах чувството, че code coverage не се покачва, но в следващият осъзнах, че тествам само селектираният тест. Убедена ли си, че тестваш с всички тестове. TEST -> Analyze code coverage -> All Tests?

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

@nedjo,

Да сигурна съм, проверих специално :)

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

Малко е отдавнашна дискусията, но сега, като седнах да се готвя за изпита, се сблъсквам със същия проблем с code coverage-a. Изпълних всички инструкции - да изтрия.suo, .bin, .obj + тестовете и пак съм на 0%. Дали изникнаха още идеи и предположения къде може да е проблемът?

0