Недавно я столкнулся с некоторыми несоответствиями при выполнении модульных тестов внутри VS2008 по сравнению с запуском тех же модульных тестов с mstest в командной строке.
Мой сценарий немного продвинут, так что я, вероятно, попал в угол. У меня есть много модульных тестов, управляемых данными, работающих с одним и тем же источником данных. Еще мне нравится экспериментировать с PostSharp. Итак, я написал аспект PostSharp - TestDataSource
, который я применяю к типу модульного теста, а не к методам модульного тестирования. Когда тип построен, этот аспект инструктирует PostSharp прикрепить атрибут DataSource
к каждому методу модульного тестирования в типе.
Изучение встроенной сборки в Reflector показывает, что каждому методу тестирования действительно присвоен правильный атрибут DataSource
. Выполнение тестов с помощью mstest в командной строке ведет себя должным образом - каждый тест запускается для указанного источника данных.
Однако выполнение точно таких же модульных тестов в VS2008 не может найти источник данных. Как будто VS2008 игнорирует построенную сборку и смотрит на исходный код, который, конечно, не выглядит как тест, управляемый данными, потому что атрибут DataSource
вводится во время сборки.
Нет проблем с развернутыми элементами. Прикрепление DataSource
к тестам вручную позволяет VS2008 успешно их запускать.
Любые идеи?