Korzystając z , testuję kod odwołujący się do biblioteki zawierającej podstawowy typ wyjątku. TIBCO.EMS.NamingException
, z którego pochodzą inne typy wyjątków, w szczególności TIBCO.EMS.InvalidNameException
i TIBCO.EMS.NameNotFoundException
.Jak uzyskać atrybut ExpectedException NUnit do wykrywania klasy bazowej wyjątku?
Chciałbym użyć atrybutu Oczekiwany wyjątek NUnit do rozpoznania, kiedy został zgłoszony wyjątek z podklasą pochodzący z TIBCO.EMS.NamingException
.
mogę łatwo wykryć, gdy specyficzny wyjątek został rzucony:
[ExpectedException("TIBCO.EMS.NameNotFoundException")]
or
[ExpectedException(Typeof(TIBCO.EMS.InvalidNameException))]
Ale chciałbym jakoś NUnit „oczekiwać”, czy jakakolwiek podklasa TIBCO.EMS.NamingException
została rzucona.
Próbując go bezpośrednio nie działa:
[ExpectedException("TIBCO.EMS.NamingException")]
or
[ExpectedException(typeof(TIBCO.EMS.NamingException))]
Jakieś pomysły?
To działało idealnie! Byłem tak zakochany w atrybucie ExpectedException, z którego tak często korzystałem tak wiele razy, że przegapiłem powrót do innej części dokumentacji. Starałem się, aby rękawica spełniała obowiązek buta! Dziękuję, @silev za nauczenie mi użytecznej nowej sztuczki! –
Świetnie, nie ma za co! Podoba mi się również wersja generyczna Assert.Throws() i bardzo przydatna Assert.DoesNotThrow (() => {...}) –
sll