XCTest:如果仅对测试目标进行更改,如何防止Xcode不必要地重新编译项目

问题描述 投票:1回答:1

我的Xcode项目在源文件数量和代码行方面非常大。当我仅更改XCTest代码并在单个测试,单个测试文件甚至整个测试套件上运行时,Xcode会首先重新编译我的宿主应用程序,即使宿主应用程序中没有文件更改。每当我对任何测试文件进行任何更改时,都会这样做。

这对编写测试构成了效率挑战,因为对测试代码进行小的调整需要很长时间才能重新运行和重新验证。 (每次运行最多需要3分钟-是的,这是一个很大的项目,我们已经采取了许多步骤来减少构建时间,方法是检查构建日志,等等。)

在Swift 4.2中使用Xcode 10.3

测试正在使用:

@testable import MyModuleName

如果只更改测试,有没有一种方法可以防止Xcode重新构建整个项目?

xcode xctest
1个回答
0
投票

我发现了问题。

我们在“项目的构建阶段”部分下有一些自定义脚本,它们实际上会更改代码库中的一些可编译资产。我们也有一个迦太基依赖项复制阶段。

从Build阶段注释了这两个阶段,因此,仅更改测试时不会重新编译整个项目。这些脚本实际上是对可编译代码进行了更改,从而使XCode得以重新编译。

所以一切似乎都井然有序。只需找出如何以更自动化的方式执行此操作即可。

© www.soinside.com 2019 - 2024. All rights reserved.