In der Vergangenheit habe ich für erwartete Ausnahmen wie diese haben getestet:C# -Testen - warum wird die ExpectedException-Methode übergeben, wenn die Ausnahme nicht ausgelöst wurde?
[TestMethod]
public void TestThrowsException() {
try {
Foo();
Assert.Fail();
} catch (MyException ex){//good
}
}
aber ich merke, dass es eine (sauberer?) Weg, dies das ExpectedException Attribut zu testen. Warum besteht diese Testmethode, wenn die Ausnahme nicht ausgelöst wird? Dies vereitelt sicherlich den Zweck des Attributs.
[TestMethod]
[ExpectedException(typeof(MyException))]
public void TestThrowsException() {
}
[Bearbeiten] ich diesen Test bin mit Silverlight mit 2
Dito überall. –
Congrats auf der 60k, btw –
Ja, es ist vorbei. Um Ihnen einen Kontext zu geben, führe ich dies als einen Silverlight 2-Test durch, nicht sicher, ob das wichtig ist. Ich bekomme ein grünes Licht im Test. Um geistige Gesundheit zu überprüfen, wenn ich den Code zu dieser Änderung: [Testmethod] // [ExpectedException (typeof (MyException))] public void TestThrowsException() { throw new MyException(); } Und dies scheitert wie erwartet (rotes Licht in Silverlight Testseite). – Jason