VSTO - 无法从外部程序集获取对Word.ApplicationFactory的引用

时间:2013-03-05 15:36:09

标签: vsto integration-testing

问题

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

我们按如下方式组织了3个项目:

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

问题是在测试集成项目中我们可以创建一个单词实例 新的Microsoft.Office.Interop.Word.Application()但是我们无法获得Microsoft.Office.Tools.Word.ApplicationFactory(VSTO接口)的实例。

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

供参考

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

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

在业务逻辑项目中,我们可以获取活动的Microsoft.Office.Interop.Word.Document并调用在工厂中传递的interop文档方法GetVstoObject方法

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

1 个答案:

答案 0 :(得分:0)

有可能为了测试目的而模拟接口(使用moq或其他一些框架)。我知道在访问Excel interfaces needed to set up an RTD server时,您必须创建自己的接口版本,并使用正确的微软GUID标记它们。也许相同的方法适用于应用程序工厂界面?我看到微软发布了GUID here