是否有人能够成功将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值。我已经通过命令行在很多不同的地方尝试过但没有运气。
e.g:
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
干杯, 沫
答案 0 :(得分:2)
@ OhadSchneider的评论让我意识到KW_SPEC
对我有用,因为我已经在我的方案(Edit scheme->Test->Arguments->Environment variables
)的测试配置中设置了它。从shell设置变量不起作用,因为该变量仅适用于实际构建,而不是在执行单元测试目标时。
但是,通过修改方案的测试阶段并添加值为KW_SPEC
的{{1}}环境变量,可以解决此问题,这会在将xcodebuild运行到传递给{的值时展开{1}}命令(如我原来的答案)。在此之后,xcode将优雅地使用传递的$KW_SPEC
变量,xctool仍然将跳过的teste标记为失败问题。
如果您希望KW_SPEC作为xctool(或任何* nix工具)的环境变量,那么您必须将它放在命令之前,否则它将被视为构建设置:
xcodebuild
然而,这将导致另一个问题:KW_SPEC
将报告错误运行的测试,并且即使没有测试失败,也会将测试报告为失败。 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
无法做到的事情。 / p>