Существует не «друг» ключевое слово в C#, но один вариант для тестирования частных методов является использование System.Reflection, чтобы получить ручку на метод. Это позволит вам использовать частные методы.
Учитывая класс с этим определением:
public class Class1
{
private int CallMe()
{
return 1;
}
}
Вы можете вызвать его с помощью этого кода:
Class1 c = new Class1();
Type class1Type = c.GetType();
MethodInfo callMeMethod = class1Type.GetMethod("CallMe", BindingFlags.Instance | BindingFlags.NonPublic);
int result = (int)callMeMethod.Invoke(c, null);
Console.WriteLine(result);
Если вы используете Visual Studio Team System, то вы можете получить VS автоматически генерировать прокси-класса с частными помощниками в нем, щелкнув правой кнопкой мыши метод и выбрав «Создать тесты единиц ...»
Вы не должны тестировать частных членов напрямую, как если бы они были доступны как общедоступные. Обычно люди проверяют только среди публичных участников: http://stackoverflow.com/a/5662371/62921 Частные участники будут проверяться косвенно. – ForceMagic 2013-06-21 14:09:19