Unit testing 如何为VisualStudio包编写单元测试

Unit testing 如何为VisualStudio包编写单元测试,unit-testing,vsx,vspackage,Unit Testing,Vsx,Vspackage,我现在正在从事一个visual studio软件包项目,目前我们所有的测试都只是模拟我们与visual studio的交互方式,包括windows打开和关闭、菜单选择、按钮单击等。我认为这些测试可以归类为集成测试,它们高度依赖于devenv.exe进程。对于纯单元测试,我只想测试我的一个业务逻辑并模拟其他依赖项。尽管visual studio SDK在SDK文件夹中的路径VisualStudioIntegration\Common\Source\CSharp\UnitTest下包含一个测试库,但

我现在正在从事一个visual studio软件包项目,目前我们所有的测试都只是模拟我们与visual studio的交互方式,包括windows打开和关闭、菜单选择、按钮单击等。我认为这些测试可以归类为集成测试,它们高度依赖于devenv.exe进程。对于纯单元测试,我只想测试我的一个业务逻辑并模拟其他依赖项。尽管visual studio SDK在SDK文件夹中的路径VisualStudioIntegration\Common\Source\CSharp\UnitTest下包含一个测试库,但我发现它太简单,太年轻,无法在我的项目中使用。当我尝试从头开始编写单元测试时,我在模拟VSX接口时遇到了很多问题。另外,关于VSX单元测试的资源太少了,有人能给我一些提示或链接吗?非常感谢您的帮助。

就我而言,我需要从一个控制程序启动并控制Visual Studio,以运行一些开发人员研究

基本上,为什么不让您的测试在一个编程实例的实验配置单元中运行您的插件呢

这是通过COM启动Visual Studio实例的有用资源:

感谢您的帮助,我只是不喜欢用午餐VS Exp来运行我的测试,因为我有大量的测试用例要运行,在VS Exp中运行这些用例总是会导致内存泄漏。顺便说一句,我最终找到了正确的方法:纯单元测试,我使用rhino Mock模拟了所有依赖关系,但这需要深入了解VSX如何工作以及VS.MSDN创建的背后服务:如何:在UML扩展上运行单元测试