Не удалось установить свойство TestContext
У меня есть визуальная студия 2008 Unit test, и я получаю следующую ошибку времени выполнения:
Unable to set TestContext property for the class JMPS.PlannerSuite.DataServices.MyUnitTest. Error: System.ArgumentException: Object of type 'Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestAdapterContext' cannot be converted to type 'Microsoft.VisualStudio.TestTools.UnitTesting.TestContext'
Я прочитал, что VS 2008 не обновляет ссылки на UnitTestFramework при преобразовании проектов 2005 года. Мой Unit test был создан в 2008 году, но он наследуется от базового класса, построенного в VS 2005. Является ли это тем, откуда возникает моя проблема? Нужно ли восстанавливать базовый класс в 2008 году? Я бы предпочел не делать этого, поскольку это повлияет на другие проекты.
В других производных модульных тестах, построенных в 2005 году, все, что нам нужно было сделать, это закомментировать свойство TestContext в производном unit test. Я пробовал это в VS 2008 Unit test без везения. Я также попытался "новое" свойство TestContext, которое дает мне другую ошибку времени выполнения.
Любые идеи?
Ответы
Ответ 1
У меня была такая же проблема в Visual Studio 2012, когда я обновил старый проект (думаю, 2005).
Ссылка на Microsoft.VisualStudio.QualityTools.UnitTestFramework нужно удалить, щелкнув правой кнопкой мыши в обозревателе решений и удалив его.
Чтобы добавить правильный:
- Добавить новую ссылку
- Расширения, найдите Microsoft.VisualStudio.QualityTools.UnitTestFramework, вероятно, несколько
- Наведите указатель мыши на отображение пути, выберите тот, который находится в папке.. /IDE/PublicAssemblies
- Clean
- Перестроить
- Повторные тесты
Ответ 2
Я размещаю это здесь, надеясь, что это поможет кому-то тестировать проект смарт-устройства. У меня очень похожая ошибка, когда я впервые попытался запустить unit test для метода в проекте смарт-устройства, над которым я работал в Visual Studio 2008:
Error: System.ArgumentException: Object of type 'Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestAdapterContext' cannot be converted to type 'Microsoft.VisualStudio.TestTools.UnitTesting.TestContext'
Ошибка при запуске ошибки привела к результатам, которые предположили, что это было вызвано обновлением тестового проекта из формата Visual Studio 2005 до 2008 года и что ссылка на файл UnitTestFramework.dll все еще была для старой версии (8.0) и требуемого обновления. Это не относится ко мне, поскольку я не обновил свой тестовый проект от VS2005. Поэтому я продолжил поиск.
После нескольких часов поиска других причин ошибки без успеха я наткнулся на следующие ссылки в проекте смарт-устройства:
- Microsoft.WindowsMobile.dll
- Microsoft.WindowsMobile.Status.dll
Visual Studio получала эти ссылки из следующей папки:
C:\Program Files\Windows Mobile 5.0 SDK R2\Managed Libraries
Однако целевая платформа проекта смарт-устройства была Windows Mobile 6 Professional SDK. Раньше я этого не замечал, так как первоначально я не создавал проект смарт-устройства. Поэтому я удалил ссылки на две библиотеки DLL и прочитал их из следующей папки:
C:\Program Files\Windows Mobile 6 SDK\Managed Libraries
После восстановления проекта интеллектуального устройства выполнение тестового метода завершено.
Ответ 3
Я столкнулся с той же проблемой. Оказалось, что один из моих проектов ссылался на сборки 8.0, а другой ссылался на 9.0. Решение скомпилировано, но я получил исключение во время выполнения.