【发布时间】:2019-11-20 06:26:27
【问题描述】:
我有以下目录结构:
root
| - includes
| - src
| - test
|- unit
|- integration
|- resources
我想知道如何在 test/resources 文件夹的测试(执行它们时)中获取目录路径,因为我想从该目录中引用(加载)一些东西。
资源未构建,它们代表普通的xml 文件。
问题是多个人正在构建这个项目,其中一些人在源代码中构建它,而其他人在外部构建它,所以带有测试代码的可执行文件(我们称之为TestRunner.exe)将有一个不同的运行文件夹。这意味着在测试运行期间目录路径不会更改,但这仍然不意味着我们可以像../resources 那样静态引用它,这意味着我们的TestRunner.exe 位于test/build 文件夹中,因为有人可以构建它在其他地方进行项目。
【问题讨论】:
-
有什么可以阻止您使用absolute 文件路径?
-
@Leif_Lundberg 是的,这个测试应该也可以在 Windows 上运行。
-
以下哪些目录(如果有)包含 CMakeLists.txt 文件?
-
@squareskittles 包含
CMakeLists.txt文件的目录为root、src和test。 -
当您说“我想知道如何获取目录路径”时...您希望何时访问此路径?何时构建 TestRunner 可执行文件? TestRunner 可执行文件何时运行?目前尚不清楚您打算如何使用资源路径。资源路径是否会改变?资源是否也已构建,因此可以在源内构建还是在源外构建?