gpt4 book ai didi

swift - 在发布构建期间运行 Xcode 单元测试

转载 作者:行者123 更新时间:2023-11-28 12:29:03 24 4
gpt4 key购买 nike

我有许多逻辑单元测试(其中我的项目文件具有 App 和 AppTests 的目标成员资格)。我想在我的构建系统中添加对 xcodebuild test-without-building 的调用,以便我的单元测试针对每个构建运行。

但是,测试不能在发布版本上运行(因为发布版本不是为测试而构建)。

我唯一的选择是在构建期间同时构建发布版本调试版本,以便我可以仅使用调试版本来执行测试吗?这与我使用过的其他测试框架(GTest、Catch)非常不同,也非常糟糕。为什么测试不能独立存在?

最佳答案

test-without-building 命令实际上并不是要“在不重建应用程序的情况下运行测试”,而是应该与 build-for-测试命令。

请引用"Advanced Testing and Continuous Integration" WWDC 2016 session了解更多信息。

要点是:使用 build-for-testing 构建一个 .xctestrun 文件,然后由 test-without-building 运行测试。这对于在不同机器上运行大型套件特别有用,尽管我自己从未做过。

现在我们已经确定您不能单独使用 test-without-building,这是从命令行运行测试的唯一选择,如果它们通过构建 Release 版本是使用xcodebuild test 来构建app。

至于为什么要在Debug里,我也没有确切的答案。在 iOS 领域,至少在我工作过的团队中,DebugRelease 构建之间的区别始终仅在于优化方面传递给编译器的选项、要构建的体系结构以及代码签名的类型。

这意味着在 DebugRelease 中运行的代码完全相同,并且由于我们已经确定您需要构建应用程序两次,一次运行测试,生成可发布版本,在 Debug 中运行测试似乎是可以接受的。

关于swift - 在发布构建期间运行 Xcode 单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42583703/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com