Не удается запустить тесты в 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
У меня была такая же проблема. Я удалил некоторые тестовые файлы настроек и теперь работает.
Удаляемые файлы:
Шаги:
-
Удалите все 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 решило проблему.
Надеюсь, это поможет кому-то еще.