从命令行从 iOS 中的测试套件运行单个/可选测试用例(XCTestCase)

Posted

技术标签:

【中文标题】从命令行从 iOS 中的测试套件运行单个/可选测试用例(XCTestCase)【英文标题】:Run individual/selectable testcase(XCTestCase) from a testsuite in iOS from command line 【发布时间】:2017-12-14 16:36:39 【问题描述】:

我使用 XCUITest 为我的 ios UI 自动化进行了所有设置,我可以通过运行单个测试套件

xcodebuild test -project <path> -scheme <name> -destination <specifier> -only-testing:TestBundle/TestSuiteName

我也用过这个命令

xcodebuild test -workspace <path> -scheme <name> -destination <specifier> -only-testing:TestBundle/TestSuiteName/TestCase1 -only-testing:TestBundle/TestSuiteName/TestCase2

使用这个我运行这两个测试,但它们仍然按字母顺序执行,而不是我在命令中指定的顺序。

有没有办法决定我的测试用例执行顺序? 有没有办法我可以通过命令行运行单个/可选的测试用例?

我知道我们可以使用类似 testInvocation 的方法来解决我的问题,但我不明白如何。我正在使用 swift。

有人可以帮我吗..提前谢谢!

【问题讨论】:

【参考方案1】:

没有办法做到这一点。当您运行单个命令时,xcTest 框架会处理此问题,以便在 bankckend 中按字母顺序运行测试用例。

如果您想以预先定义的顺序运行测试用例,那么您必须使用单独的命令,这很耗时。

最好在测试套件中处理这个并相应地命名

【讨论】:

以上是关于从命令行从 iOS 中的测试套件运行单个/可选测试用例(XCTestCase)的主要内容,如果未能解决你的问题,请参考以下文章

通过命令行从 unittest.TestCase 运行单个测试

如何从 Rails 测试套件运行单个测试?

默认情况下在PHPUnit中运行单个测试套件

在单个测试套件中独立运行多个测试用例,无需重新启动应用程序

如何通过命令行从docker hub删除docker镜像?

从测试视图运行时测试成功,但从测试列表编辑器或命令行运行时失败