【问题标题】:How to run Google tests (C++ unit tests) in a QNX Virtual machine, using resharper?如何使用 resharper 在 QNX 虚拟机中运行 Google 测试(C++ 单元测试)?
【发布时间】:2018-10-29 08:35:15
【问题描述】:

目前我如何运行单元测试:

我有一个 Visual Studio 项目,它构建了一个 C++ google 测试(单元测试)可执行文件。

然后我用 QNX 将此 exe 复制到我的虚拟机并手动运行它,以获取单元测试结果。

我可以使用 resharper 自动执行此操作吗?

Resharper 能够从测试文件中检测和列出测试。但是在运行它们时,它会抛出错误,因为它无法在 Windows 中执行测试。

以下是我在运行任何测试时得到的确切错误。

ReSharper Ultimate – 运行单元测试时出错: 路径无效

我可以设置 resharper 和 Visual Studio 环境,这样我就可以直接从 Visual Studio 运行测试,它将 exe 复制到虚拟机并给我执行结果?

这将避免我手动复制粘贴 exe 并运行命令来执行测试?

我在谷歌上搜索了很多关于此的内容。但找不到太多帮助。

我是 google test and resharper 的新手。因此,任何帮助将不胜感激。 提前致谢。

【问题讨论】:

  • 你为什么不写bash文件呢?这将构建您的 unitest case 项目并运行它们。

标签: c++ unit-testing resharper googletest qnx


【解决方案1】:

不,恐怕 ReSharper 无法立即执行此操作。

虽然它非常强大,但如果你设法编写一个脚本来执行 VM 特定部分,ReSharper 应该能够应付它。该脚本需要做的是:

  • 它必须在主机 (Windows) 上运行。
  • 将测试二进制文件复制到 VM 中的 QNX 系统。
  • 执行测试。
  • 捕获测试的输出并将其重定向到主机的stdout

可以在此处设置 ReSharper 选项:

菜单 ReSharper > 选项...
在左窗格中向下滚动到 Tools > Unit Testing > C++ Tests

在文本字段Command:中,您需要输入脚本的路径。
详情请见https://www.jetbrains.com/help/resharper/Reference_Options_Tools_Unit_Testing_CPP_Tests.html

【讨论】:

    【解决方案2】:

    我想你会发现显示“ReSharper Ultimate - 运行单元测试时出错:路径无效”的消息框是由 VS 2017 的最后一次更新引起的,它已经破坏了一些东西。我通常通过 resharper c++ 运行我的谷歌测试,直到几天前,它仍然有效。现在,我看到了这个完全相同的错误。

    【讨论】:

    • 您是否也使用 VM 来运行测试?如果是这样,您如何设置 resharper 以便将 exes 复制到 VM 然后执行它。注意:我在为 QNX 机器构建目标时,不能直接在 windows 环境中执行测试。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-01
    • 1970-01-01
    • 2016-03-23
    • 1970-01-01
    • 2010-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多