어설 션이 실패한 경우에만 예외를 catch하지 않고 코드를 실행하는 NUnit에 후크가 있습니까? 기본적으로 어설 션이 실패하고 예외를 다시 throw 할 때 액션 위임을 받아 들여야합니다. 왜 내가 이것을 필요로합니까? 어설 션이 실패 할 때 디버깅을 쉽게하기 위해 두 객체를 비교하여 화면에 결과를 덤프해야합니다.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 "";
}
은 아마 당신은 후크 업에 대한 필요성을 제거하는 대신 자신의'Assert' 기능을 쓸 수 있을까? – MEMark