Не удается запустить тесты в VS2012

Кто-нибудь сталкивается с следующей ошибкой при попытке запуска модульных тестов в Visual Studio Express 2012 для Интернета?:

MSTestAdapter не смог обнаружить тест, потому что хелпер классического режима недоступен. Если выбран файл TestSettings, отмените выбор и повторите попытку.

У меня было решение в Visual Studio 2012 RC, которое содержит пару приложений, несколько библиотек классов и пару проектов unit test. Когда Visual Studio 2012 был выпущен, я перешел на Express For Web. Все компилируется и работает нормально, но в любое время, когда я пытаюсь запустить модульные тесты, я получаю вышеуказанную ошибку.

В качестве теста я выгрузил проекты unit test и удалил файл TestSettings и добавил новый проект unit test с одним тестом, который является простым истинным утверждением. Однако ошибка сохраняется.

Googling для меня ничего не значило. Несколько связанных постов на разных сайтах, но пока ничего существенного. (Может быть, кому-то еще повезло больше?) Похоже, что тестовая инфраструктура терпит неудачу, прежде чем она даже попытается вызвать MSTest, но также любопытно, что я не могу найти mstest.exe на машине.

Кто-нибудь сталкивался с этим и решал его? Я полагаю, что я мог бы переехать в NUnit (хотя их веб-сайт не отвечает, что не внушает уверенности в проекте) или что-то в этом роде, хотя я бы предпочел сохранить количество инструментов там, где это возможно.

Ответ 1

У меня была такая же проблема. Я удалил некоторые тестовые файлы настроек и теперь работает. Удаляемые файлы:

  • Local.testsettings

  • SOLUTIONNAME.vsmdi

  • TraceAndTestImpact.testsettings

Шаги:

  • Удалите все 3 файла из решения

  • Удалите все 3 файла из папки решений

  • Закройте решение в VS12 и снова откройте его

http://dailywebtips.blogspot.co.uk/2012/09/visual-studio-2012-express-error.html

Ответ 2

Фантастический ответ, АндреКруз! Помог мне много! Однако, когда я пытался запустить тесты, он жаловался:

Невозможно установить свойство TestContext для класса WavverTests.UnitTest1. Ошибка: System.ArgumentException: объект тип 'Microsoft.VisualStudio.TestPlatform.MSTestFramework.TestContextImplementation' не могут быть преобразованы в тип 'Microsoft.VisualStudio.TestTools.UnitTesting.TestContext'.

Я попытался изменить типы, поскольку кажется, что ошибка указывает - как если бы пространства имен были изменены. Но это не сработало и дало все более неясную ошибку.

Вместо этого удалите это свойство! Для меня удаление свойства TestContext решило проблему.

Надеюсь, это поможет кому-то еще.