Сейчас я работаю над проектом пакета визуальной студии, в настоящее время все наши тесты просто имитируют то, как мы взаимодействуем с визуальной студией с открытыми и закрытыми окнами, выбором меню, нажатием кнопки и т. д. Я думаю, что эти тесты можно классифицировать как интегрированные тесты и они сильно зависят от процесса devenv.exe. Для чистого модульного теста я просто хочу протестировать одну из своих бизнес-логик и смоделировать другие зависимости. Хотя Visual Studio SDK содержит тестовую библиотеку по пути VisualStudioIntegration\Common\Source\CSharp\UnitTest в папке SDK, я нашел ее слишком простой проект, слишком молодой, чтобы использовать его в моем проекте. Когда я попытался написать юнит-тест с нуля, у меня появилось много проблем с имитацией интерфейсов VSX. Также так мало ресурсов о модульном тесте VSX. Может ли кто-нибудь дать мне несколько советов или ссылок по этому поводу? Любая помощь приветствуется.
Как написать модульный тест для пакета Visual Studio
comment
MSDN: Практическое руководство. Запуск модульных тестов для расширений UML msdn.microsoft.com /en-us/library/gg985355.aspx#Host
- person Smartkid   schedule 12.12.2012
Ответы (1)
В моем случае мне нужно было запустить Visual Studio и управлять ею из управляющей программы, чтобы провести некоторые исследования разработчиков.
В принципе, почему бы просто не запустить тесты вашего плагина в экспериментальном улье на программном экземпляре?
Это был полезный ресурс для запуска экземпляра Visual Studio через COM: http://blogs.msdn.com/b/kirillosenkov/archive/2009/03/03/how-to-start-visual-studio-programmatically.aspx
person
gameweld
schedule
17.05.2012
Спасибо за вашу помощь, я просто не предпочитаю обедать VS Exp для запуска моих тестов, так как у меня есть большое количество тестовых случаев для запуска, выполнение этих случаев в VS Exp всегда вызывает утечку памяти. Кстати, я, наконец, получил правильный чистый модульный тест, я издевался над всеми зависимостями, используя макеты носорога, но для этого требуется глубокое знание того, как работает VSX и сервисы, созданные VS.
- person Bruce; 20.05.2012