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