단위 테스트 (nUnit)가 있습니다. 호출 스택 아래의 많은 계층에서 단위 테스트를 통해 실행중인 경우 메서드가 실패합니다.
이상적으로는이 방법이 의존하는 객체를 설정하기 위해 조롱과 같은 것을 사용하는 것이 좋지만 이것은 타사 코드이며 많은 작업 없이는 할 수 없습니다.
nUnit 특정 방법을 설정하고 싶지 않습니다. 여기에는 레벨이 너무 많고 단위 테스트를 수행하는 방법이 좋지 않습니다.
대신에 제가하고 싶은 것은 콜 스택에 다음과 같은 것을 추가하는 것입니다.
#IF DEBUG // Unit tests only included in debug build
if (IsRunningInUnitTest)
{
// Do some setup to avoid error
}
#endif
IsRunningInUnitTest를 작성하는 방법에 대한 아이디어가 있습니까?
추신 나는 이것이 훌륭한 디자인이 아니라는 것을 완전히 알고 있지만 대안보다 낫다고 생각 합니다.