2015-08-12 8 views

Odpowiedz

9

Pierwsza linia documentation wydaje się całkiem jasne:

Assert.Catch jest podobny do Assert.Throws ale przejdą za wyjątkiem tego, że pochodzi od podanej.

więc używać Assert.Catch jeżeli wyjątkiem, że wynika z określonego wyjątku jest ważne (to znaczy, że zbyt podlegałaby w równoważnym catch bloku).

Dokumentacja Assert.Throws podaje przykłady zarówno:

// Require an ApplicationException - derived types fail! 
Assert.Throws(typeof(ApplicationException), code); 
Assert.Throws<ApplicationException>()(code); 

// Allow both ApplicationException and any derived type 
Assert.Throws(Is.InstanceOf(typeof(ApplicationException), code); 
Assert.Throws(Is.InstanceOf<ApplicationException>;(), code); 

// Allow both ApplicationException and any derived type 
Assert.Catch<ApplicationException>(code); 

// Allow any kind of exception 
Assert.Catch(code); 
Powiązane problemy