【问题标题】:Is it possible to run individual test cases/test classes on the command line with xcode 5?是否可以使用 xcode 5 在命令行上运行单个测试用例/测试类?
【发布时间】:2013-10-20 13:24:38
【问题描述】:

我可以使用以下命令运行所有单元测试:

xcodebuild test -workspace Project.xcworkspace -scheme Scheme -sdk iphonesimulator7.0 -destination platform='iOS Simulator',OS=7.0,name='iPhone Retina (4-inch)'

有什么我可以传递给它来运行单个单元测试/类,就像你可以使用 Xcode UI 一样?

干杯。

【问题讨论】:

标签: objective-c xcode xcode5


【解决方案1】:

据我所知,它也不在手册页上。但是你在优秀的xctool-only SomeTestTarget:SomeTestClass/testSomeMethod)中有这样的选择。

【讨论】:

  • 感谢您的推荐 - 不幸的是,xctool 似乎还不能与 XCTests 一起使用。
  • 如果你喜欢冒险,修复是在拉取请求中:github.com/facebook/xctool/issues/198(我自己没有尝试过)。
  • 我认为我的问题是他们现在已经破坏了 Kiwi 支持(因为我什至无法使用该拉取请求使其正常工作。)但是我认为您的回答是正确的,这是最好的选择.
【解决方案2】:

如果您使用的是 Kiwi,那么您应该可以使用 KW_SPEC 环境变量来执行此操作。不过我没能做到:Running a single KIWI spec with xctool

【讨论】:

    【解决方案3】:

    另一种方法是编辑测试文件的方案,并根据需要禁用/启用测试。然后您可以通过 CLI 重新运行相同的命令,它只会运行您在上面指定的测试。

    【讨论】:

      【解决方案4】:

      对于那些使用更高版本的 Xcode (8.0+) 并且将来可能会遇到这篇文章的人(比如我自己),现在可以使用 -only-testing 标志来实现这一点,该标志记录在 @ 的手册页中987654323@。该标志的使用格式如下:

      xcodebuild \
          -destination "$DEST" \
          -workspace "$WRKSP" \
          -scheme "$SCHEME" \
          -only-testing:Target/Class/Method test
      

      您还可以省略路径中 -only-testing 标志之后的元素,例如-only-testing:Scheme/Class 将在该类中运行所有这些测试。

      这是一个相关的 Stackoverflow 问题,涉及新功能: How to use xcodebuild with -only-testing and -skip-testing flag?

      【讨论】:

      • 是的,这很好,但这是我试图找到解决这个问题的方法的多次搜索中的第一个结果。我会更新答案以澄清!
      • 对于任何对此有疑问的人,-only-testing 参数接受 Target/Class/Method 而不是 Scheme/Class/Method
      猜你喜欢
      • 2012-03-06
      • 1970-01-01
      • 2015-09-09
      • 1970-01-01
      • 2014-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多