Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing Swift 1.2、Xcode 6.3.1中的测试文件编译速度较慢_Unit Testing_Swift_Compilation_Xcode6 - Fatal编程技术网

Unit testing Swift 1.2、Xcode 6.3.1中的测试文件编译速度较慢

Unit testing Swift 1.2、Xcode 6.3.1中的测试文件编译速度较慢,unit-testing,swift,compilation,xcode6,Unit Testing,Swift,Compilation,Xcode6,在将项目从Xcode 6.2迁移到6.3.1之后,我体验到swift单元测试文件的编译要慢得多 我的单元测试使用快速/灵活的框架。在每个测试文件中,我也有: import MyApp 有趣的是,当我对导入进行注释时,编译速度非常快。我在一些虚拟的单元测试文件上进行了测试,这些文件实际上没有使用我的应用程序的任何代码。但是这种导入对编译时间有很大的影响 在使用Xcode 6-6.2时,我没有观察到这么大的影响。您现在有什么想法可以提高编译速度吗?显然,这需要查看您的代码,但尽量不要对字符串使用太

在将项目从Xcode 6.2迁移到6.3.1之后,我体验到swift单元测试文件的编译要慢得多

我的单元测试使用快速/灵活的框架。在每个测试文件中,我也有:

import MyApp
有趣的是,当我对导入进行注释时,编译速度非常快。我在一些虚拟的单元测试文件上进行了测试,这些文件实际上没有使用我的应用程序的任何代码。但是这种导入对编译时间有很大的影响


在使用Xcode 6-6.2时,我没有观察到这么大的影响。您现在有什么想法可以提高编译速度吗?

显然,这需要查看您的代码,但尽量不要对字符串使用太多的串联,并强式键入变量


通过逐个文件地观察Xcode中的构建过程,您可以看到哪个文件需要很长时间来编译。这是最后一个选项卡,触摸正在运行的构建过程,您将看到正在编译的每个文件。

根据中的一个回复。在内置设置中启用
整个模块优化
使问题得以解决。

苹果公司于5月18日(昨天)发布了Xcode 6.3.2,这似乎是因为编译时间太慢。更新是否解决了您的问题?

缓慢的编译会影响导入主应用程序模块的每个单元测试文件(如SomeClassTests.swift)。所有文件每个都需要7秒左右的时间,我们的项目大约有20k行swift代码,其中每个文件平均有100行代码。我们不做很多字符串连接(或任何,甚至),并且我们不强烈地键入我们的VAR。但即使如此,应用程序目标编译大约需要一分钟(在第一次构建之后),而测试目标总是需要15分钟以上(kloc与应用程序目标大致相同)如果在测试中看不到代码,就很难缩小范围。如果只删除导入MyApp以外的所有内容,那么测试目标的编译速度会很慢吗?不幸的是,跟踪它是一种试错方案。我认为现在最好的解决方案是降级到Xcode 6.3。这篇文章可能会对您有所帮助。在X中编译时间没有区别代码6.3 vs 6.3.1。但是在我的例子中,Xcode 6.3.1确实比6.3慢。但是我们失去了增量构建的优势,这意味着第一次构建需要20分钟,后续构建需要10分钟,而不是每次构建需要15分钟minutes@Vik但在我的例子中,它需要与Xcode 6.2中的整个模块相同的时间e优化已禁用