Когда юнит-тест зависит от нагрузки сборок? - PullRequest
2 голосов
/ 13 января 2012

Мне нужно лучше понять, когда сборки загружаются для модульного тестирования.

У меня есть класс (ClassDerived), который я тестирую.ClassDerived является производным от другого класса (ClassBase).

Я пытаюсь использовать атрибут ClassInitialize для инициализации ClassDerived перед запуском первого теста.В модульном тесте есть ссылка на ClassBase и ClassDerived.

. При выполнении кода в методе ClassInitialize я замечаю, что сборка, содержащая ClassDerived, не была загружена.

Я определил это, посмотрев возвращаемое значение из вызова GetAssemblies().

var assemblies = System.AppDomain.CurrentDomain.GetAssemblies();

Как ни странно, загружена сборка, содержащая ClassBase.

Я попытался переместитькод инициализации для конструктора модульного теста с тем же результатом.

Кто-нибудь знает, что происходит?

1 Ответ

1 голос
/ 13 января 2012

Я подозреваю, что время загрузки не свойственно модульному тестированию. В .net 3.5 вот что я видел:

Учитывая сборку "X", которая имеет метод "Y", а метод "Y" использует что-то в сборке "Z".

В этом случае сборка 'Z' будет загружена непосредственно перед выполнением метода 'Y'. .net 4.0 предположительно ввел большую «лень» по ряду направлений, поэтому я не знаю, верно ли приведенное выше наблюдение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...