디버그 모드에서 객체를 캡처하고 단위 테스트에서 덤프하는 쉽고 우아한 방법이 있습니까? 30 개 이상의 필드와 같은 매우 큰 개체를 사용하고 있으며 단위 테스트의 데이터로 필요합니다.
이 작업을 빠르고 쉽게 수행 할 수있는 방법을 알지 못하며 실제로 필드 / 속성, 중첩, private-public과 관련된 전체 문제로 인해 VS가 이에 대한 범용 솔루션을 제공하지 못한다고 생각합니다.
디버깅하는 동안 직접 실행 창에서 일부 {{MyHelper.ToInitExpression ()}}을 호출 한 다음 클립 보드 데이터를 가져와 단위 테스트에 넣는 등 직렬화를 확실히 사용할 수 있습니다. 초기화 표현식을 만들려면 리플렉션을 사용하여 어떤 속성 / 필드가 있고 현재 값이 무엇인지 알아 내야합니다. 중첩 된 개체가있는 경우 해당 개체도 처리해야합니다.
ReSharper 경로로 이동하는 경우 대안은 일종의 ToInit()
방법 을 생성하는 것입니다 . 필요한 각 클래스에 대해 개별적으로 만들어야합니다. ReSharper의 생성기 인프라를 사용하면 다소 쉽습니다. 도움이 필요하면 언제든지 저에게 ping (skype : dmitri.nesteruk) 해주세요.
다른 대안은 다음과 같은 방법을 단순히 수작업으로 만드는 것입니다.
public static string ToAssemblyCode(this DateTime self)
{
var sb = new StringBuilder("new System.DateTime(");
sb.AppendFormat("{0},{1},{2}", self.Year, self.Month, self.Day);
if (self.Hour != 0 || self.Minute != 0 || self.Second != 0)
sb.AppendFormat(",{0},{1},{2}", self.Hour, self.Minute, self.Second);
if (self.Millisecond != 0)
sb.AppendFormat(",{0}", self.Millisecond);
sb.Append(")");
return sb.ToString();
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다