首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Xcode5从命令行运行xctest?

如何使用Xcode5从命令行运行xctest?
EN

Stack Overflow用户
提问于 2013-11-15 05:25:18
回答 1查看 14.5K关注 0票数 18

我发现了一个名为"xctest“的命令行工具,它显然可以运行项目中的单元测试。此可执行文件位于以下位置:

代码语言:javascript
运行
复制
/Applications/Xcode.app/Contents/Developer/usr/bin/xctest

当我尝试在我的xctest包上运行这个可执行文件时,我使用:

代码语言:javascript
运行
复制
$ ./xctest /Users/myusername/Library/Developer/Xcode/DerivedData/MyApp-abcdefghijklmnop/Build/Products/Debug/MyAppTests.xctest

但是,我得到了以下输出:

代码语言:javascript
运行
复制
Test Suite '(null)' started at 2013-11-14 21:16:45 +0000
Test Suite '(null)' finished at 2013-11-14 21:16:45 +0000.
Executed 0 tests, with 0 failures (0 unexpected) in 0.000 (0.001) seconds

据我所知,没有关于xctest的手册页,但是在命令行中输入./xctest会产生以下结果:

代码语言:javascript
运行
复制
Usage: xctest [--test Self | All | None | <TestCaseClassName/testMethodName>] <path of unit to be tested>

特别是,我希望能够在测试类中测试特定的方法,这就是我想使用xctest命令的原因。

我确实看到有一种方法可以从命令行运行所有测试,如下所示:

代码语言:javascript
运行
复制
$ xcodebuild test -scheme MyApp

这将运行所有单元测试并正常工作(我可以看到我的单元测试结果,这与使用xctest时不同)。但我感兴趣的是能够从命令行运行单个测试方法,例如:

代码语言:javascript
运行
复制
$ ./xctest --test MyAppTests/testExample  /Users/myusername/Library/Developer/Xcode/DerivedData/MyApp-abcdefghijklmnop/Build/Products/Debug/MyAppTests.xctest
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-15 23:13:59

无论用法消息说什么,-XCTest都是您需要的参数:

代码语言:javascript
运行
复制
xctest -XCTest MyAppTests/testExample testbundle.xctest

要直接调用xctest,您可能还需要将DYLD_FRAMEWORK_PATHDYLD_LIBRARY_PATH设置为您的构建产品目录。一般来说,您需要使用与Xcode相同的参数和环境,您可以通过在测试中放置断点,通过Xcode运行它们,然后为[NSProcessInfo processInfo]输出argumentsenvironment的值来查看这一点。

为了避免弄乱所有的注释,您还可以修改Xcode中的方案,使其只运行特定的测试。在Product > Scheme > Edit Scheme下,选择Test操作并展开测试包。您可以使用复选框来选择要运行的测试,然后xcodebuild的测试操作将只运行这些测试。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19988723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档