【问题标题】:Visual Studio unit test using files with relative path使用具有相对路径的文件进行 Visual Studio 单元测试
【发布时间】:2017-11-29 01:18:12
【问题描述】:

我有一个 Visual Studio 单元测试项目,我需要从某个文件中读取。

我正在尝试设置单元测试项目以从相对于项目位置的路径读取文件,以便它也可以在构建服务器上运行。

项目所在的目录与可执行文件的位置完全不同。它就像 C:\Dir1\Dir2...\Dirn\Project

运行测试的目录是 C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2017\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\TESTWINDOW

所以我不确定如何从相对于项目所在位置而不是可执行文件所在位置的路径读取文件。

有什么建议吗?

谢谢。

【问题讨论】:

  • 让我们尝试缩小范围。您将如何定义相对路径?
  • 我通常会买东西。但是在这里我只是不明白你想要完成的事情。你能详细说明一下吗?是不是你想从你跑步的地方去相对?依赖于此通常不是一个好主意,因为路径可能会改变。我会将注册表项设置为您的应用程序正在运行并从中工作的位置。
  • 实际上在 Windows 上,无需调用注册表即可轻松获取可执行文件的位置:msdn.microsoft.com/en-us/library/windows/desktop/…
  • 谢谢@user4581301 我不知道那个。我总是让安装程序设置一个密钥。我只设置了两个键,所以现在我可以减少到一个。 :)

标签: c++ visual-studio unit-testing visual-c++


【解决方案1】:

我找到了解决问题的方法。

您可以定义一个设置为 $(ProjectDir) 的预处理器宏,稍后使用该宏来获取项目目录的路径,从而能够在单元测试项目中使用相对路径。

解决方法在这里解释:How to get the $(ProjectDir) path in a Visual Studio native C++ Unit Testing using CppUnitTestFramework?

谢谢。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多