gpt4 book ai didi

ios - 使用 Swift 和 Obj-C 进行单元测试

转载 作者:搜寻专家 更新时间:2023-10-30 22:14:21 27 4
gpt4 key购买 nike

我正在开始一个新的 Swift 项目,并尝试为其创建单元测试。我将 Google Analytics 框架添加到项目中,并链接了 SystemConfiguration、CoreData、libsqlite3、libz 和 libGoogleAnalyticsServices。

然后我必须手动创建一个桥接 header 并添加我将立即使用的 GA header 。该应用程序已启动并运行并发布到 GA。然后我尝试添加一些单元测试。

发生这种情况后,如果我向测试目标添加桥接 header ,我会在我的桥接 header 中收到一个错误,即 'GAI.h' file not found。我还收到来自编译器的 Segmentation Fault 11 错误。如果没有桥接头,错误仍然相同。

我已尝试将我的测试目标与 SystemConfiguration、CoreData、libsqlite3、libz 和 libGoogleAnalyticsServices 相关联。这并没有消除错误。

目前我的桥接头没有太多内容。

#import "GAI.h"
#import "GAILogger.h"
#import "GAITrackedViewController.h"
#import "GAIFields.h"

我也在使用 cocoapods,但目前我没有将它与 Google Analytics 一起使用,因为每次运行 pod 进程时我都需要手动更改配置文件。如果有帮助,这是我的 pod 文件:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.1'

pod 'JVFloatLabeledTextField'

# Swift Pods
pod 'Alamofire'
pod 'JSONHelper'

target 'example' do

end

target 'exampleTests' do

pod 'Quick', :git => "https://github.com/Quick/Quick"
pod 'Nimble', :git => "https://github.com/Quick/Nimble"

end

我还不能编写任何测试,因为我无法通过链接器错误。有什么想法吗?

最佳答案

正如我在上面的评论中所述,我认为我遇到了相同或类似的问题:我的代码在运行时运行良好,但是当我尝试运行测试时,我在尝试实例化一个对象时遇到了段错误 11引用了 cocoa pod 中的任何东西。我已经解决了这个问题。

当我遇到错误时,我的 Podfile 看起来像这样:

pod 'ReactiveCocoa'

target 'MyTests' do

use_frameworks!

pod 'Quick'

pod 'Nimble

结束

使用框架!是罪魁祸首:因为 use_frameworks!仅适用于测试目标,我最终在为正常目标构建时静态链接到 ReactiveCocoa,并在测试目标中动态链接。我遗漏了一些仅在动态链接时才需要的 ReactiveCocoa 导入,但编译器没有告诉我它出现了段错误。

我的 Podfile 现在看起来像这样:

use_frameworks!

pod 'ReactiveCocoa'

target 'MyTests' do

pod 'Quick'

pod 'Nimble

结束

有一些链接问题需要解决,但从那里开始很容易,因为当我编译主要目标时,我遇到了正常的错误。希望这对某人有所帮助:)

关于ios - 使用 Swift 和 Obj-C 进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28435209/

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