Подтвердить что ты не робот

Как Visual Studio/mstest идентифицирует тестовые проекты?

Скажите (гипотетически 100%), что я случайно добавил проект unit test в качестве типа проекта "Библиотека классов" в решение VS2010. Затем я добавил сборки, необходимые для запуска его в качестве проекта unit test, но MSTest не будет принимать его, когда я нажму "Запустить все тесты в решении". Каковы критерии здесь?

У меня было несколько теорий, которые до сих пор не удались:

  • Что-то в файле .testsettings(никаких ссылок на какие-либо сборки здесь, насколько я могу судить)
  • Что-то в файле .SLN(ничего не найти)
  • Что-то в AssemblyInfo.cs(нет, это не так)
  • Имплицируется путем ссылки на (...) UnitTestFramwork.dll(Obv not)

Кто-нибудь?

4b9b3361

Ответ 1

В файле проекта есть XML-элемент с именем ProjectTypeGuids, который содержит несколько идентификаторов GUID, которые обозначают тестовый проект. Пример следующим образом.

<Project>
  <PropertyGroup>
    <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
  </PropertyGroup>
</Project>

Здесь перечислены известные GUID типа проекта для Visual Studio 2010: http://onlinecoder.blogspot.com/2009/09/visual-studio-projects-project-type.html

В приведенном выше примере он показывает, что проект имеет тип Тест и Windows (С#).

Ответ 2

В случае, если это помогает любому, у меня возникла противоположная проблема - я ошибочно добавил проект как Unit Tests. Чтобы изменить тип обратно в обычную библиотеку классов, я просто удалил теги ProjectTypeGuids, упомянутые в других ответах, предположительно VS вернул правильные.

Ответ 3

  • В обозревателе решений щелкните правой кнопкой мыши имя проекта и выберите Выгрузить проект.
  • Затем щелкните правой кнопкой мыши имя проекта и выберите Изменить имя_проекта .csproj.
  • Найдите элемент ProjectTypeGuids и следующий код. (Если вы не найдете элемент ProjectTypeGuids, просто вставьте его)

    <Project> <PropertyGroup> <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB}; {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} </ProjectTypeGuids> </PropertyGroup> </Project> .

  • Сохраните изменения, щелкните проект правой кнопкой мыши и выберите Обновить Проект.