gpt4 book ai didi

ios - 运行测试时静态变量变为零

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:37:29 26 4
gpt4 key购买 nike

我们有一个带有默认值的静态变量:

static NSDictionary *g_primaryKeyFieldName = NULL;

我们在 didFinishLaunchingWithOptions 方法中使用适当的值对其进行初始化。

g_primaryKeyFieldName = [NSDictionary 字典...];

正常运行应用程序时似乎一切正常。但是,在运行测试时,变量会被初始化,但随后它的值会以某种方式再次设置为初始 NULL 值。

我检查了变量没有被设置为 nil 或被释放,因为如果我将它的默认值设置为其他值:

static NSDictionary *g_primaryKeyFieldName = @"Some String";

那就是变量得到的值。

可能导致此行为的原因是什么?

最佳答案

我刚遇到同样的问题,我找到了可能的原因。如果文件 (FCModel.m) 包含在应用程序和测试目标中,则会为来自应用程序和来自测试的调用创建单独的上下文(静态变量等)。所以解决方案是:确保 FCModel.m 文件仅在 MyFCApp 中具有目标成员资格,并且如果您需要在测试中访问您的 FCModel 类,只能通过 @testable import MyFCApp 访问它。

关于ios - 运行测试时静态变量变为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27401226/

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