从命令行分析Xcode测试

时间:2016-08-19 18:10:02

标签: xcode unit-testing profiling xcode-instruments

我使用XCTest在Xcode中编写了单元测试,并且它们在Xcode中运行良好。除了GUI环境,我还有一个makefile,可以从命令行自动执行某些进程。这些包括构建,测试,清理,分析等。其基本原理是在构建管道中包含脚本,主要用于夜间构建。有了这个,我们会在早上获得构建,性能报告,内存泄漏等等。

我还想profile使用command lineInstruments enter image description here。以下是我的表现:

instruments -t "Allocations" -D build/hul.trace hul.xcodeproj

我得到以下输出:

Instruments Trace Error : Target failed to run: Unable to find actual binary to posix_spawn for path: hul.xcodeproj

这与项目是静态库有关吗?我想要将结果写入文件的工具,以便我可以在第二天进行咨询,甚至自动执行某些处理,例如使用模式匹配。有没有人在使用仪器之前做过类似的事情?

编辑:这似乎正在做某事

sudo instruments -v -t "Time Profiler" "build/Build/Products/Debug-iphonesimulator/hulTests.xctest/" -w "iPhone SE"

然而,我得到以下对话框:

{{3}}

我只是不知道适当的行动是什么......

编辑:有一件事是错的。根据文件:

 -w [hardware device, or simulator name]
          The name or identifier of the hardware device or simulator to target. Should be specified first

所以上一行改为:

instruments  -w "iPhone SE" -v -t "Time Profiler" "build/Build/Products/Debug-iphonesimulator/hulTests.xctest/"

此外,除了“iPhone SE”之外,我正在使用实际的设备标识符,而且我在某处读到了您不应该使用sudo的内容。确实这有帮助!我注意到instruments -s devicessudo instruments -s devices的结果实际上是不同的。所以现在我得到了一个不同的错误:

Instruments : Instruments Accepted Command
Instruments : Preparing To Start Trace
Instruments : Starting Instrument(s)
Instruments : Stopping Instrument(s)
Instruments Trace Error : Target failed to run: Permission to debug com.hypelabs.test was denied.
make: *** [profile] Error 253

我用Google搜索,这似乎表明签名错误,但如果我正在运行单元测试,这是否有意义?也就是说,我正在编写一个静态库,因此甚至没有.app文件可以签名。

0 个答案:

没有答案