tags:

views:

52

answers:

2

I want to invoke a method when my integration test fails (i.e., Assert.AreEqual fails), is there any event delegate that I can subscribe to in NUnit framework? Of course the event delegate must be fired when the tests fail.

This is because in my tests there are a lot of Assert statement, and I can't tell need to log the Assert, along with the assertion information that cause a problem in my bug tracker. The best way to do this is to when the test fails, a delegate method is invoke.

A: 

I'm curious, what problem are you trying to solve by doing this? I don't know of a way to do this with NUnit, but there is a messy way to do it. You can supply a Func and invoke it as the fail message. The body of the Func can provide you delegation you're looking for.

var callback = new Func<string>(() => {
        // do something
        return "Reason this test failed";
    });
Assert.AreEqual("", " ", callback.Invoke());
Chris Missal
A: 

It seems that there is no event I can subscribe to in case of assert fail

Ngu Soon Hui