是否有人能够成功地将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和xctool0.2.3
干杯,莫
发布于 2015-10-27 21:56:29
更新11/03/2015
@OhadSchneider的评论让我意识到KW_SPEC为我工作是因为我在我的方案的测试配置(Edit scheme->Test->Arguments->Environment variables)中设置了它。设置shell中的变量不起作用,因为该变量仅适用于实际构建,而不适用于执行单元测试目标。
但是有一个解决办法,通过修改方案的测试阶段并使用值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没有这个问题,因为它要么不进行单元测试发现,要么忽略没有运行的测试,这是xctool做不到的。
https://stackoverflow.com/questions/30387123
复制相似问题