ЕДИНЦИОННЫЕ Тестирование частные методы в C# ⇐ C#

Место общения программистов C#
Anonymous
ЕДИНЦИОННЫЕ Тестирование частные методы в C#

Сообщение Anonymous »

Visual Studio обеспечивает модульное тестирование частных методов с помощью автоматически сгенерированного класса доступа. Я написал тест частного метода, который успешно компилируется, но он не работает во время выполнения. Довольно минимальная версия кода и тест: < /p>

//in project MyProj
class TypeA
{
private List myList = new List();

private class TypeB
{
public TypeB()
{
}
}

public TypeA()
{
}

private void MyFunc()
{
//processing of myList that changes state of instance
}
}

//in project TestMyProj
public void MyFuncTest()
{
TypeA_Accessor target = new TypeA_Accessor();
//following line is the one that throws exception
target.myList.Add(new TypeA_Accessor.TypeB());
target.MyFunc();

//check changed state of target
}
< /code>

Ошибка времени выполнения: < /p>

Object of type System.Collections.Generic.List`1[MyProj.TypeA.TypeA_Accessor+TypeB]' cannot be converted to type 'System.Collections.Generic.List`1[MyProj.TypeA.TypeA+TypeB]'.
< /code>

Согласно Intellisense - и, следовательно, я думаю, компилятор - цель имеет тип typea_accessor. Но во время выполнения это типа типа типа, и, следовательно, список добавленных сбоев. Или, может быть, более вероятно, какие другие советы дают другие люди (я предсказываю, может быть, «не тестируйте частные методы» и «нет модульных тестов, манипулирующих состоянием объектов»).

Подробнее здесь: https://stackoverflow.com/questions/912 ... in-c-sharp

Вернуться в «C#»