【问题标题】:VB6 - Project group - SimplyVBUnit project add reference to standard exe?VB6 - 项目组 - SimplyVBUnit 项目添加对标准 exe 的引用?
【发布时间】:2014-06-02 21:28:47
【问题描述】:

我正在尝试为 VB6 项目实施 SimplyVBUnitTesting。 wiki 说要添加对主项目 DLL 的引用。

我的第一个想法是,“对于其中包含 MDI 表单的标准 exe,我该怎么做?” (您似乎无法创建一个包含 MDI 表单的 DLL。)

我的第二个想法是,“我可以使用项目组来添加对主项目的引用吗?”

我在网上看到的文档似乎总是提到一个引用 ActiveX 项目的主项目(形成 DLL 没有问题)。他们说其他项目的参考应该列在 (Project -> References...) 所有积极选择的参考之后和未使用参考的字母顺序列表之前。那里似乎没有列出。你能只引用可以制作 DLL 的项目吗?

我很惊讶,因为对于同一解决方案中的每种类型的项目,.NET 都非常容易。我错过了什么吗?

(我真的不想更改原始项目类型以适应测试,因为这可能会使部署复杂化。)

【问题讨论】:

  • 您是否尝试过参考对话框中的“浏览”按钮?
  • 是的,我曾想过,但它只指向类型库 (.olb; *.tlb; *.dll) 或可执行文件 (.exe; .dll) 或 ActiveX 控件 (.ocx) 或所有文件 (.)。在指向原始项目的 .vbp 文件时,我收到一条错误消息“无法引用,因为它的项目类型是 EXE。”嗯,这似乎是确定的。
  • 可能不太理想,因为它会与主 exe 一起编译(或者您必须在部署之前将其删除) - 但您可以将其添加到原始项目中并将 frmTestRunner.frm 设置为启动对象。布莱赫。

标签: vb6 simplyvbunit


【解决方案1】:

很遗憾,无法添加对标准 EXE 的引用。

如果您希望测试的类在标准 EXE 中,那么您可以做的最好的事情是将一个 SimplyVBUnit 标准 EXE 项目添加到包含您的主 EXE 的项目组中。然后,您可以通过添加现有类并浏览到您的主 EXE 类来与 SimplyVBUnit EXE 共享主 EXE 中的类文件。您将像往常一样将新类添加到保存您的测试的 SimplyVBUnit 项目中。您必须根据要运行测试还是主应用程序来选择启动项目。

这肯定是一个麻烦的解决方案。特别是如果您的类具有访问主 EXE 中的区域的依赖项。您需要包装这些依赖项并在测试 exe 中设置假环境。

【讨论】:

  • 我得出了同样的结论。尽管从技术上讲,我不再使用项目组。我只是保留单独的 .vbp 文件。一种仅包含生产文件,另一种包含生产+测试文件。至少这样启动对象可以设置一次。不利的一面是必须向 test.vbp 添加任何新类......但无论如何你都必须为其添加一个新的测试类。一个解决方案,但是很糟糕!我很高兴我们正在从 VB6 迁移出来!
猜你喜欢
  • 2022-07-25
  • 2022-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多