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

Тестирование модулей - расширение Visual Studio Unit Test Тип - не работает

Нам предлагается перейти от NUnit к MSTest и теперь нужно преобразовать все существующие тесты в новую платформу. Большинство из них преобразуется отлично, но у нас есть проблема с параметризованными тестами. Мы обнаружили, что следующий веб-сайт показывает, как написать расширение и загрузить код для него.

http://blogs.msdn.com/b/vstsqualitytools/archive/2009/09/04/extending-the-visual-studio-unit-test-type-part-2.aspx

Однако, хотя он компилируется отлично, тест RowTestClass не запускается со следующим сообщением об ошибке:

"Не удалось инициализировать расширение unit test urn: RunAsTestClassAttribute ': расширение unit test не зарегистрировано для следующего атрибута: Microsoft.VisualStudio.Test.Sample.UnitTestTypeExtension.RunAsSample.RunAsTestClassAttribute."

Мы используем VS2010 (10.0.40219.1 SP1Rel) (Microsoft.NET Framework версии 4.0.30319 SP1Rel)

Интересно, связано ли это со следующими библиотеками:

Microsoft.VisualStudio.QualityTools.Common.dll
Runtime Version: v2.0.50727

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ReferenceAssemblies\v2.0\Microsoft.VisualStudio.QualityTools.Common.dll

Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
Runtime Version: v4.0.30319

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll

Microsoft.VisualStudio.QualityTools.Vsip.dll
v4.0.30319

C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.VisualStudio.QualityTools.Vsip\v4.0_10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.QualityTools.Vsip.dll

Любая помощь, чтобы получить эту работу, получила высокую оценку.

4b9b3361

Ответ 1

Зарегистрировали ли вы новые типы (в Windows Registry)? Там раздел о том, как это сделать в учебнике, - посмотрите на Расширение тестового теста Row Test: зарегистрируйте расширение тестового типа.

Если у вас возникли проблемы, попробуйте загрузить полный код + разделы реестра из галереи MSDN-кода.

Ответ 2

Возможно, вы захотите изучить SpecFlow, чтобы ваши тесты были более параметризованы. Это традиционно инструмент BDD, но он позволит вам делать повторно используемые шаги, которые принимают параметры.

Например, вы можете создать шаг, говоря

"Given the user 'admin' exists."

а на стороне С# вы получите такой метод:

[Given(@"the user '(.*)' exists"]
public void GivenTheUserExists(string name)
{
    //create the user
}

Вперед вы можете повторно использовать шаг в любом "файле функций", не переписывая выполнение этого шага.

Ответ 3

Просто обратитесь к сообщению в блоге Расширение тестов модулей в Visual Studio. И посмотрите, что вы, возможно, пропустили. Я пробовал то же самое, и это хорошо работает для меня.