【问题标题】:Unit Testing VSTO projects单元测试 VSTO 项目
【发布时间】:2015-06-18 19:59:17
【问题描述】:

在我遵循的大多数单元测试教程中,它让我创建第二个单元测试项目,然后将解决方案/项目引用从测试项目添加到另一个项目。

我有一个 VSTO 插件,当我去添加参考时,我在解决方案 > 项目下看不到任何内容。

这是为什么?我还能如何添加对插件项目的引用来测试它?

【问题讨论】:

  • 通常您会将测试项目添加到包含您要测试的项目的解决方案中。如果由于某种原因您不能这样做,您应该能够通过在添加引用对话框中使用 browse 选项并导航到程序集来添加对包含代码的程序集的引用。
  • 它被添加到同一个解决方案中,但通常我在解决方案>项目下添加对它的引用。我的项目不存在。那么如何在不添加该引用的情况下从我的 Uitt 测试项目(在同一解决方案中)引用它。我是否错过了每个教程都以这种方式描述的内容,当我关注它们时它可以工作,但我的插件没有列出。是因为它是 VSTO 插件吗?
  • 您可以在同一个 VSTO 项目中添加测试类和测试成员来测试您的一些方法。在模拟 excel 之前,您将无法对 Addin 中的所有方法进行单元测试。

标签: c# unit-testing vsto


【解决方案1】:

如果这是您第一次进行单元测试,那么 VSTO 可能是一个陡峭的学习曲线。正如@Sam Holder 所建议的那样,您可能希望将一些逻辑放入一个单独的程序集中,以鼓励您将您的逻辑与您与办公室基础设施的交互分开。

也就是说,虽然您无法使用添加对项目的引用的常规方法添加项目,但您可以使用 Browse 选项添加对该项目输出的引用:

  • 右键单击测试项目并选择“添加引用”。
  • 在出现的框中,单击底部的“浏览”按钮。
  • 导航到 VSTO 项目的 bin\debug 文件夹并选择项目 dll。
  • 点击确定。

显然,您必须构建插件才能使上述功能正常工作。

如果您开始尝试创建依赖办公室基础架构的对象,您将面临一些其他挑战。因此,您至少可能需要在您的测试项目中添加对Microsoft.Office.ToolsMicrosoft.Office.Tools.Common 的引用。

【讨论】:

  • debug 和 release 文件夹完全空白。为什么会这样?而且我无法从我的单元测试项目中添加这些引用
  • @shenk 你建立了这个项目吗?如果是这样,请检查项目的输出路径(右键单击项目,选择属性,选择构建,向下滚动到构建路径)。无法添加引用是因为 dll 不存在,还是其他原因?
  • @forsavrir 是的,我无法添加引用,因为我找不到 DLL。输出路径也是默认的 bin\debug
  • @shenk 全部重建并查看构建输出窗口,它应该显示已创建的二进制文件的完整路径,或某种错误。如果它说正在创建二进制文件但实际上并不存在,那么就会发生一些奇怪的事情。
  • 为什么我不能将 Microsoft.Office.Tools 添加到我的测试项目中?只是 Microsoft Office.Interop.Outlook 和 Microsoft.Office.Core。发帖人建议使用 tools 和 tools.common
【解决方案2】:

我不知道为什么添加引用不起作用,但您可以通过添加第三个项目来解决它。将所有逻辑放在这个新项目中。在测试中添加对这个新项目的引用,然后在 VSTO 插件项目中添加对新项目的引用,您可以在其中调用逻辑。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-14
    • 2013-05-12
    • 1970-01-01
    • 2017-08-15
    • 2012-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多