Swift 如何获取相对于项目目录的路径?

Swift 如何获取相对于项目目录的路径?,swift,swift-package-manager,Swift,Swift Package Manager,因此,我正在从事由swift包经理管理的swift项目。对于我的一些测试,我想从目录${PACKAGE\u ROOT}/testData 问题是,如果我通过命令行运行测试(即,$swift test然后我可以使用当前目录路径获取根目录:FileManager.default.currentDirectoryPath。但是,我想使用XCode测试运行程序利用调试器,当从测试运行程序运行时,currentDirectoryPath位于DerivedData中 是否有一种在运行时获取相对于测试项目目录

因此,我正在从事由swift包经理管理的swift项目。对于我的一些测试,我想从目录
${PACKAGE\u ROOT}/testData

问题是,如果我通过命令行运行测试(即,
$swift test
然后我可以使用当前目录路径获取根目录:
FileManager.default.currentDirectoryPath
。但是,我想使用XCode测试运行程序利用调试器,当从测试运行程序运行时,
currentDirectoryPath
位于
DerivedData

是否有一种在运行时获取相对于测试项目目录的路径的好方法?这里还有一些其他关键事项:

  • 我希望无论项目位置如何,测试都能通过。也就是说,如果有人将项目克隆到任意位置,测试应该以相同的方式运行。因此,显式设置项目的完整路径是错误的

  • 我希望避免一些需要修改生成的XCode项目的事情,因为如果需要从包中重新生成项目,这些更改将不稳定。例如,如果添加了新的依赖项或目标


  • 我对Swift软件包管理器没有太多经验,但您可以使用
    #file
    编译器指令,该指令将成为完整的源文件名。谢谢-我想我可以帮我完成这项工作。您可以在那里看到: