Есть ли в NUnit ловушка для выполнения кода только в случае сбоя подтверждения без перехвата самого исключения.По сути, он должен принять делегат действия, который будет выполнен, когда утверждение не выполнено, а затем повторно выдать исключение.Зачем мне это нужно?Мне нужно сравнить два объекта и вывести результат на экран, чтобы упростить отладку при сбое утверждения.
Нечто подобное работает, но это плохой взлом. Проблема в том, что он охотно оценивает ProcessCompareError, поэтому у меня возникают ненужные накладные расходы, плюс он делает это независимо от того, есть ошибка или нет.Итак, есть ли перегрузка, которая примет делегат, который будет выполнен, когда утверждение не выполнено?
Assert.That(benefitLimitComparer.Compare(copyBenefitLimit, origBenefitLimit), Is.EqualTo(0),limitError, ProcessCompareError(origBenefitLimit, copyBenefitLimit));
}
}
}
private string ProcessCompareError(BenefitLimit origBenefitLimit, BenefitLimit copyBenefitLimit)
{
Console.WriteLine("Original: ");
ObjectDumper.Write(origBenefitLimit);
Console.WriteLine("Copy");
ObjectDumper.Write(copyBenefitLimit);
return "";
}