Ich bin nur auf der Suche nach einigen Beispielen, wenn es sinnvoll ist, Assert.Catch oder Assert.Throws für die Geltendmachung von Ausnahmen in Komponententests zu verwenden. Ich weiß, dass ich ExpectedException auch verwenden kann, aber ich bin neugierig, den Unterschied zwischen "Catch" und "Throws" zu kennen. Vielen Dank!Wann Assert.Catch im Vergleich zu Assert.Throws im Unit Testing
6
A
Antwort
9
Die erste Zeile der documentation scheint ziemlich klar:
Assert.Catch
zuAssert.Throws
ähnlich ist, aber eine Ausnahme übergeben, die von den angegebenen abgeleitet wird.
So Assert.Catch
verwenden, wenn eine Ausnahme, dass aus der angegebenen Ausnahme ergibt sich auch gültig ist (was bedeutet, dass es auch in einem äquivalenten catch
Block abgefangen werden).
Die Dokumentation für Assert.Throws enthält Beispiele für beide:
// 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);
Verwandte Themen
- 1. Wann preRenderView im Vergleich zu viewAction verwenden?
- 2. Unit Testing Frameworks für C: Vergleich
- 3. req.locals im Vergleich zu res.locals im Vergleich zu res.data im Vergleich zu req.data im Vergleich zu app.locals in Express-Middleware
- 4. Wie man Co-Worker im Gegensatz zu Unit Testing behandelt
- 5. ILookup im Vergleich zu IGrouping
- 6. Wann zu verwenden, im Vergleich zu If-Let in Clojure
- 7. QDBusAbstractAdaptor im Vergleich zu QDBusAbstractInterface
- 8. Binäre Serialisierung im Vergleich zu JSON im Vergleich zu xml
- 9. Work Unit Design Pattern im Vergleich zu Transaktionen
- 10. Wann DataFrame.eval() im Vergleich zu Pandas.eval() oder Python eval()
- 11. Wann UserControl im Vergleich zu Kontrolle in Silverlight verwenden?
- 12. Wann sollten Sie Page.DataBind() im Vergleich zu Control.DataBind() verwenden?
- 13. TaskCompletionSource: Wann SetResult() im Vergleich zu TrySetResult(), etc.
- 14. XML-Attribute im Vergleich zu Elementen
- 15. Chef Attribute im Vergleich zu Daten Taschen
- 16. Unit Testing/Login im Frühjahr MVC mit MockMvc
- 17. Unit Testing - Verwenden von Image als Ressource im Testprojekt
- 18. App.Config im Vergleich zu AppName.exe.Config
- 19. FogBugz im Vergleich zu OnTime
- 20. Dateisperrung im Vergleich zu Semaphoren
- 21. XDocument.Descendants() im Vergleich zu DescendantNodes()
- 22. LocalBroadcastManager im Vergleich zu Callbacks
- 23. itertools.islice im Vergleich zu Listenscheibe
- 24. Spray.Routing im Vergleich zu Play.api.mvc.Controller
- 25. DoubleBuffered im Vergleich zu SetStyle
- 26. Arrays im Vergleich zu JSON
- 27. AesManaged im Vergleich zu RijndaelManaged
- 28. Drupal7 im Vergleich zu Drupal6?
- 29. time.time im Vergleich zu timeit.timeit
- 30. Cookies im Vergleich zu Sitzungen mit CookieStore