在运行XCTests时访问主应用程序包

时间:2018-01-17 12:38:54

标签: swift bundle xctest nstask

在测试Move-Item -Path "\\otnas6uk\sd.test-it.com$\PROJECTS\\Zentic Report - $month $year.xlsx" -Destination \\zemnas\sd.Zentic-test.com$\Technology\Reports 中,以便不会启动任何应用。

但在这种情况下,我无法使用target -> General -> Testing: set Host Application to None并访问我的主应用程序的资源(其中包含一些命令文件作为资源,我需要使用Bundle.main.resourcePath运行它们。)

有人可以提出解决方案吗?

2 个答案:

答案 0 :(得分:1)

Bundle(identifier: "com.something.app")会为您提供特定捆绑包ID的捆绑包。问题是,如果您的主要目标的包ID发生变化,则会失败。

您还可以尝试获取特定类的包:

let bundle = Bundle(for: SomeClass.self)

SomeClass是主要包中的一个类。

答案 1 :(得分:0)

将文件添加到' 复制捆绑资源'还有测试目标,然后使用以下代码获取资源的路径,而不是"\(Bundle.main.resourcePath!)/test.command"

let testBundle = Bundle(for: type(of: self)) let path = "\(testBundle.resourcePath!)/test.command""