C# 在开发VisualStudio加载项时,除了手动测试外,还有哪些测试选项?

C# 在开发VisualStudio加载项时,除了手动测试外,还有哪些测试选项?,c#,visual-studio,unit-testing,testing,add-in,C#,Visual Studio,Unit Testing,Testing,Add In,我正在为一个正在工作的项目开发一个VisualStudio插件,并且发现调试和测试它非常乏味。到目前为止,它似乎需要启动VisualStudio的第二个实例并手动执行外接程序代码。有哪些技术和/或工具可用于自动化此类外接程序测试?外接程序可测试的唯一方法是将其设计为可测试。特别是在编写VisualStudio插件/Package/MEF组件时,我将代码分为两个项目 对VisualStudio几乎没有依赖性的实际核心引擎 使用桥接模式公开核心引擎的实际外接程序 #1显然可以通过正常机制进行测试,并

我正在为一个正在工作的项目开发一个VisualStudio插件,并且发现调试和测试它非常乏味。到目前为止,它似乎需要启动VisualStudio的第二个实例并手动执行外接程序代码。有哪些技术和/或工具可用于自动化此类外接程序测试?

外接程序可测试的唯一方法是将其设计为可测试。特别是在编写VisualStudio插件/Package/MEF组件时,我将代码分为两个项目

  • 对VisualStudio几乎没有依赖性的实际核心引擎
  • 使用桥接模式公开核心引擎的实际外接程序
  • #1显然可以通过正常机制进行测试,并且应该代表大部分代码


    #2测试起来有点笨拙,但并不可怕。VisualStudio的API完全基于接口,因此可以很容易地模拟。这需要一点腿部工作,但肯定可以完成到足以测试代码的程度

    有专门的单用户测试工具,如SilkTest和TestPartner,但它们往往非常昂贵,所以我建议您去看看,它可以用于自动化重复任务,并且有30天的免费试用期。它来自于使用优秀FinalBuilder构建工具的同一批人。

    因此,如果我正确理解了您的答案,这是否意味着实际工作的逻辑应该尽可能与Visual Studio自动生成的Connect.cs内容分离?