Не удалось установить свойство TestContext

У меня есть визуальная студия 2008 Unit Unit, и я получаю следующую ошибку времени выполнения:

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 года. Мой модульный тест был создан в 2008 году, но он наследуется от базового класса, построенного в VS 2005. Является ли это, когда возникает моя проблема? Нужно ли восстанавливать базовый класс в 2008 году? Я бы предпочел не делать этого, поскольку это повлияет на другие проекты.

В других производных модульных тестах, построенных в 2005 году, все, что нам нужно было сделать, это закомментировать свойство TestContext в производном модульном тесте. Я пробовал это в модульном тестировании VS 2008 без везения. Я также пытался «новое» свойство TestContext, которое дает мне другую ошибку времени выполнения.

Есть идеи?

c#,unit-testing,

19

Ответов: 3


21

У меня была такая же проблема в Visual Studio 2012, когда я обновил более старый проект (думаю, 2005).

Ссылка на Microsoft.VisualStudio.QualityTools.UnitTestFramework необходимо удалить, щелкнув правой кнопкой мыши в обозревателе решений и удалив его.

Чтобы добавить правильный:

  1. Добавить новую ссылку
  2. Расширения, найдите Microsoft.VisualStudio.QualityTools.UnitTestFramework, есть вероятность, что несколько
  3. Наведите указатель мыши на отображение пути, выберите тот, который находится в папке ../IDE/PublicAssemblies
  4. чистый
  5. перестраивать
  6. Повторные тесты

1

Я размещаю это здесь, надеясь, что это поможет кому-то тестировать проект смарт-устройства. У меня очень похожая ошибка, когда я впервые попытался запустить единичный тест для метода в проекте смарт-устройства, над которым я работал в 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 FilesWindows Mobile 5.0 SDK R2Managed Libraries

Однако целевой платформой проекта смарт-устройства был Windows Mobile 6 Professional SDK . Раньше я этого не замечал, так как первоначально я не создавал проект смарт-устройства. Поэтому я удалил ссылки на две библиотеки DLL и перечитал их из следующей папки:

C:Program FilesWindows Mobile 6 SDKManaged Libraries

После восстановления проекта интеллектуального устройства выполняется тестовый метод.


0

Я столкнулся с тем же вопросом. Оказалось, что один из моих проектов ссылался на сборки 8.0, а другой ссылался на 9.0. Решение скомпилировано, но я получил исключение во время выполнения.

C #, блок-тестирование,
Похожие вопросы