我开发了一个Visual Studio加载项,它与Visual Studio DOM交互并修改加载的解决方案 虽然我已经努力分离与DOM交互的代码并且可以通过单元测试对其他业务逻辑进行单元测试,但是有没有办法对VS DOM交互功能和添加自定义菜单项的外接程序初始化代码进行单元测试。 Visaual Studio?
答案 0 :(得分:1)
这可能会在某种程度上回答这个...我有一个代码示例来创建一个DTE VS实例,我希望我可以在我的单元测试中使用它注入我的类,它与VS交互,然后希望分析DTE对象以确认测试成功标准。我没有在测试中尝试它,但看起来很有希望。
DTE2 dte = null;
try
{
Type type = System.Type.GetTypeFromProgID("VisualStudio.DTE.10.0");
object inst = System.Activator.CreateInstance(type, true);
dte = (EnvDTE80.DTE2)inst;
dte.Solution.Open(@"C:\Demo.sln");
// Inject into class under test
// Perform the test
// Analyse the DTE to test for success.
}
finally
{
if (dte != null)
{
dte.Quit();
}