Loading...
djc_bg2015 avatar djc_bg2015 923 Точки

[Въпрос] ExpectedException не покрива na 100% ?

Та, захванах домашното от лекцията за юнит тестване.

Написах тстове за всички публични методи (включтително и тестове които да изтества на 100% правет метода за махане на нод, през публичния метод RemoveAt).

Накрая, като пусна dotCover ми изписва че съм покрил 97% от кода, като липсващите 3 процента идват от трите юнит теста, който проверяват дали ексепшън е хвърлен.

Ето и скрийншот на единия метод:

Въпроса ми е, как мога да покрия тези 3%?

В stackoverflow намерих 1-2 теми в които се предлага следното решение:

Слагаме кода, който ще хвърля ексепшъна в try/catch, прихващаме го и сетваме някаква променлива и после с Assert.Equals проверяваме дали е сетната въпросната променлива. Но това леко обезсисля ExpectedException атрибута. 

0
C# OOP Advanced
RoYaL avatar RoYaL Trainer 6849 Точки
Best Answer

Здравей,

Мисля, че dotCover просто не е направен да го разбира това с VSTT. Ако не искаш да го хакваш, вариантът ти е да използваш платената версия на VS, където код кавъриджа го покрива това. Другият вариант е вместо VSTT да ползваш NUnit. Там има Assert.Throws.

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