6

问题

我们有一个 VSTO Word 插件,我们正在尝试使用它进行集成测试。

我们组织了以下3个项目:

  • VSTO项目
  • 业务逻辑项目
  • 测试项目

问题是在测试集成项目中,我们可以使用 new Microsoft.Office.Interop.Word.Application() 创建 word 的实例,但是我们无法获取 Microsoft.Office.Tools.Word.ApplicationFactory 的实例(VSTO 接口)。

有谁知道我如何在测试程序集中获得 VSTO ApplicationFactory 的实例?

以供参考

VSTO 项目调用业务逻辑项目传递

  • Microsoft.Office.Interop.Word.Application
  • Microsoft.Office.Tools.Word.ApplicationFactory

在业务逻辑项目中我们可以得到激活的Microsoft.Office.Interop.Word.Document,调用工厂传入的互操作文档方法GetVstoObject方法

public Microsoft.Office.Tools.Word.Document VstoDocument
{
    get { return _document.GetVstoObject(_factory); }
}
4

1 回答 1

1

出于测试目的(使用 moq 或其他框架)可能会模拟接口。我知道在访问设置 RTD 服务器所需的 Excel 界面时,您必须创建自己的界面版本,并使用正确的 Microsoft GUID 标记它们。也许同样的方法也适用于应用程序工厂接口?我看到微软在这里发布了 GUID

于 2014-03-15T12:35:19.773 回答