많은 내부 기능을 가진 클래스를 단위 테스트하려고합니다. 이것들은 분명히 테스트를 필요로하지만, 테스트 프로젝트는 여러개의 작은 프로젝트를 다루고 있기 때문에 별개입니다. 내가 지금까지있는 것은이는 내부를 표시하지 않습니다 아직 잘 모든 개인 회원을 뱉어하지만System.Reflection을 통해 내부 멤버에 액세스 하시겠습니까?
FieldInfo[] _fields =
typeof(ButtonedForm.TitleButton).GetFields(
BindingFlags.NonPublic | BindingFlags.Instance |
BindingFlags.DeclaredOnly);
Console.WriteLine("{0} fields:", _fields.Length);
foreach (FieldInfo fi in _fields)
{
Console.WriteLine(fi.Name);
}
. Visual Studio에서 생성 할 수있는 자동 생성 테스트를 사용하면 내부 프로젝트를 Test 프로젝트에 표시하는 것과 관련이 있기 때문에 가능하다고 알고 있습니다. 자, 이제 NUnit을 사용하고 실제로 그것을 좋아하지만, 어떻게하면 같은 것을 얻을 수 있습니까?
나는 InternalsVisibleTo의 사용에 동의하지만 대답을 주셔서 감사합니다. –
특정 유스 케이스에서 다른 접근 방법이 더 적절할지라도 실제적인 설명이있는 것이 좋습니다. –
참고로 이번 답변에 링크 된 페이지는 내 것이며 내 URL이 변경되었습니다. 그렇기 때문에 404가 표시 될 수 있습니다. http://jason.whitehorn.ws/2007/11/09/The-Wonders-Of-InternalsVisibleTo.aspx –