ich einige Code haben, die eine Ausnahme behauptet wird ausgelöst, wenn eine Methode aufgerufen wird, und dann verschiedene Eigenschaften auf die Ausnahme behauptet:Wie die ausgelöste Ausnahme mit Assert.That, à la Assert.Throws bekommen <T>
var ex = Assert.Throws<MyCustomException>(() => MyMethod());
Assert.That(ex.Property1, Is.EqualTo("Some thing");
Assert.That(ex.Property2, Is.EqualTo("Some thing else");
ich mag den Assert.Throws<T>
Aufruf konvertieren die Assert.That
Syntax zu verwenden, wie meine persönliche Präferenz ist:
Assert.That(() => MyMethod(), Throw.Exception.TypeOf<MyCustomException>());
Allerdings kann ich nicht herausfinden, wie die Ausnahme von dieser zurück, so kann ich führe den folgenden Profi durch Behauptungen. Irgendwelche Ideen?
Prost. Ich finde, dass wenn ich die Beschränkungen zusammen fasse, ich die Details über die Einschränkung verliere, die die Behauptung zum Scheitern bringt. Ich finde auch die separaten Einschränkungen klarer, was jede Aussage prüft. Sieht so aus, als ob ich bei meinem Original bleiben würde :( – MPritchard
@MPritch, das sind sehr gültige Punkte und ich habe nicht bemerkt, dass du Details darüber verloren hast, welche Constraint das Scheitern verursachen würde. Danke, dass du darauf hingewiesen hast. – Matt