使用xctool运行单个KIWI规范
有没有人能够成功地将KW_SPEC变量传递给xctool。 我正在尝试使用https://github.com/kiwi-bdd/Kiwi/wiki/Kiwi-FAQ#q-how-do-i-run-a-single-spec-describecontextit运行单个KIWI规范。
我可以使用xctool成功运行所有测试,但它似乎没有获取KW_SPEC值。 我已经在命令行的许多不同的地方尝试过但没有运气。
例如:
xctool -destination 'platform=iOS Simulator,name=iPad Retina,OS=latest' -sdk iphonesimulator -workspace SampleProject.xcworkspace -scheme SampleProject KW_SPEC=NewAssessmentTests.m:12 test -only SampleProject_Acceptance_Tests
使用Kiwi v2.3.1和xctool 0.2.3
干杯,莫
2015年11月3日更新
@OhadSchneider的评论让我意识到KW_SPEC
对我KW_SPEC
,因为我已经在我的方案的测试配置( Edit scheme->Test->Arguments->Environment variables
)中设置了它。 从shell设置变量不起作用,因为该变量仅适用于实际构建,而不适用于执行unit testing目标。
但是有一个解决方法,通过修改方案的测试阶段并添加值为$KW_SPEC
的KW_SPEC
环境变量,这将在运行xcodebuild时扩展到传递给xcodebuild
命令的值(如我原来的答案)。 在此之后,xcode将优雅地使用传递的KW_SPEC
变量,xctool仍然将跳过的teste标记为失败问题。
原始答案
如果您希望KW_SPEC作为xctool(或任何* nix工具)的环境变量,那么您必须将它放在命令之前,否则它将被视为构建设置:
KW_SPEC=NewAssessmentTests.m:12 xctool -destination 'platform=iOS Simulator,name=iPad Retina,OS=latest' -sdk iphonesimulator -workspace SampleProject.xcworkspace -scheme SampleProject test -only SampleProject_Acceptance_Tests
然而,这将导致另一个问题: xctool
将报告错误的未运行的测试,并将测试报告为失败,即使没有测试失败。 xcodebuild
没有这个问题,因为它既不进行unit testing发现,也不忽略没有运行的测试,这是xctool
无法做到的。
- 为什么NSInteger而不是NSUInteger在“numberOfSectionInTableView:”?
- PhoneGap InAppBrowser:打开iOS Safari浏览器
- 在iOS 7中,Mapview不可滚动并可与UISearchDisplayController触摸
- 在IOS Safari中禁用select选项
- 使用UITableView indexPath访问NSMutableArrays的多维NSMutableArray
- WiFi连接可用时通知
- 在swift中,Self.Type不能直接转换为扩展名为Objective-c类的AnyClass
- iPhone应用程序可以在启动时启动吗?
- OpenCV色调曲线progrommatically