我发现了一个名为“xctest”的命令行工具,它显然可以在您的项目中运行单元测试。该可执行文件位于此处:
/Applications/Xcode.app/Contents/Developer/usr/bin/xctest
当我尝试在我的 xctest 包上运行这个可执行文件时,我正在使用:
$ ./xctest /Users/myusername/Library/Developer/Xcode/DerivedData/MyApp-abcdefghijklmnop/Build/Products/Debug/MyAppTests.xctest
但是,我得到以下输出:
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 会产生:
Usage: xctest [--test Self | All | None | <TestCaseClassName/testMethodName>] <path of unit to be tested>
特别是,我希望能够只测试测试类中的特定方法,这就是我想使用这个 xctest 命令的原因。
我确实看到有一种方法可以从命令行运行所有测试,例如:
$ xcodebuild test -scheme MyApp
这将运行所有单元测试并正常工作(我看到了我的单元测试结果,与使用 xctest 时不同)。但我对能够从命令行运行单个测试方法感兴趣,例如:
$ ./xctest --test MyAppTests/testExample /Users/myusername/Library/Developer/Xcode/DerivedData/MyApp-abcdefghijklmnop/Build/Products/Debug/MyAppTests.xctest