当前位置: 首页 > 编程语言 > C#

如何通过MSTest在集成测试期间托管VSIDE?Share

时间:2023-04-11 12:03:27 C#

集成测试时如何通过MSTest托管VSIDE?我创建了一个集成测试项目来测试VS扩展。如果我从VisualStudioIDE运行测试,所有测试都运行良好,每个方法都会生成一个新的VSIDE。测试方法标有以下属性:[HostType("VSIDE")][TestMethod]publicvoidTestWhateverMethod(){...}但是,如果我尝试自动化测试,并通过命令行从命令行运行它MSTest(或VSTest),对于在VSIDE中托管的测试,我收到以下错误消息:无法加载主机类型“VSIDE”,原因如下:找不到“VSIDE”密钥。确保计算机上安装了适当的主机适配器。所以我试图在这里找到解决方案:MSDN-HowTo:InstallaHostAdapter。但是它只记录了VS2005和2008。我想问一下VS2013的说明,我在哪里可以找到更多信息?或者我错过了什么?从VSIDE外部运行集成测试的正确方法是什么?如何以编程方式托管IDE?先感谢您!我没有使用HostType属性,我知道该怎么做。希望以下代码片段也能帮助其他人:TypevisualStudioType=Type.GetTypeFromProgID("VisualStudio.DTE.12.0",true);DTEenv=Activator.CreateInstance(visualStudioType,true)作为DTE;这将获得具有指定版本类型的VS,并在出错时抛出异常。DTE将作为EnvDTE的接口并可以使用。要获得服务,请执行以下操作以获取UIShell:ServiceProviderserviceProvider=newServiceProvider(envasMicrosoft.VisualStudio.OLE.Interop.IServiceProvider);IVsUIShelluiShell=(IVsUIShell)serviceProvider.GetService(typeof(SVsUIShell));应该跟踪服务,获取rcw句柄并在使用后正确释放COM对象。以上是C#学习教程:MSTest集成测试时如何托管VSIDE?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:

最新推荐
猜你喜欢