Звучит так, будто вы хотите создать своего собственного бегуна-испытателя.
Существует различие между тестами (a определяет действия) и выполнением тестов (фактически запуском тестов). В этом случае, если вы хотите обнаружить, что тест не пройден, вы должны будете сделать это при запуске теста.
Если все, что вам нужно, это отправить электронное письмо при сбое, может быть проще всего создать сценарий (powershell / batch), который запускает средство запуска командной строки и отправляет электронное письмо при сбое (вашей системе отслеживания ошибок? )
Если вам нужна более сложная интерактивность, возможно, вам стоит подумать о создании собственного бегуна. Бегун может запустить тест, а затем принять меры на основе результатов. В этом случае вы должны искать в пространстве имен Nunit.Core
интерфейс запуска тестов.
Например (не проверено):
TestPackage package = new TestPackage();
package.add("c:\some\path\to.dll");
SimpleTestRunner runner = new SimpleTestRunner();
if (runner.Load(Package)){
var results = runner.Run(new NullListener(), TestFilter.Empty, false, LoggingThreshold.Off);
if(results.ResultState != ResultState.Success){
... do something interesting ...
}
}
РЕДАКТИРОВАТЬ: лучший фрагмент кода https://stackoverflow.com/a/5241900/1961413