单元测试 VSTO 项目
Unit Testing VSTO projects
在我遵循的大多数单元测试教程中,它让我创建第二个单元测试项目,然后将测试项目的 solution/project 引用添加到另一个项目。
我有一个 VSTO 插件,当我去添加引用时,我没有看到解决方案 > 项目下列出的任何内容。
这是为什么?我还能如何添加对插件项目的引用来测试它?
我不知道为什么添加引用不起作用,但您可以通过添加第三个项目来解决它。将所有逻辑放在这个新项目中。在你的测试中添加对这个新项目的引用,然后在你的 VSTO 插件项目中添加对你的新项目的引用,你可以在其中调用逻辑。
如果这是您第一次进行单元测试,那么 VSTO 可能是一个陡峭的学习曲线。正如@Sam Holder 所建议的,您可能希望将您的一些逻辑放入一个单独的程序集中,以鼓励您将您的逻辑与您与办公基础设施的交互分开。
也就是说,虽然您不能使用添加项目引用的常规方法添加项目,但您可以添加对该项目输出的引用,使用Browse
选项:
- 右击测试项目select"Add Reference".
- 在出现的框中,单击底部的 "Browse" 按钮。
- 导航到 VSTO 项目的 bin\debug 文件夹和 select 项目 dll。
- 点击确定。
显然,您必须为上述工作构建插件。
如果您开始尝试创建依赖于办公基础设施的对象,您将面临一些其他挑战。因此,至少您可能需要将对 Microsoft.Office.Tools
、Microsoft.Office.Tools.Common
的引用添加到您的测试项目中。
在我遵循的大多数单元测试教程中,它让我创建第二个单元测试项目,然后将测试项目的 solution/project 引用添加到另一个项目。
我有一个 VSTO 插件,当我去添加引用时,我没有看到解决方案 > 项目下列出的任何内容。
这是为什么?我还能如何添加对插件项目的引用来测试它?
我不知道为什么添加引用不起作用,但您可以通过添加第三个项目来解决它。将所有逻辑放在这个新项目中。在你的测试中添加对这个新项目的引用,然后在你的 VSTO 插件项目中添加对你的新项目的引用,你可以在其中调用逻辑。
如果这是您第一次进行单元测试,那么 VSTO 可能是一个陡峭的学习曲线。正如@Sam Holder 所建议的,您可能希望将您的一些逻辑放入一个单独的程序集中,以鼓励您将您的逻辑与您与办公基础设施的交互分开。
也就是说,虽然您不能使用添加项目引用的常规方法添加项目,但您可以添加对该项目输出的引用,使用Browse
选项:
- 右击测试项目select"Add Reference".
- 在出现的框中,单击底部的 "Browse" 按钮。
- 导航到 VSTO 项目的 bin\debug 文件夹和 select 项目 dll。
- 点击确定。
显然,您必须为上述工作构建插件。
如果您开始尝试创建依赖于办公基础设施的对象,您将面临一些其他挑战。因此,至少您可能需要将对 Microsoft.Office.Tools
、Microsoft.Office.Tools.Common
的引用添加到您的测试项目中。