【问题标题】:How to test if a variable is declared?如何测试是否声明了变量?
【发布时间】:2014-10-10 19:32:48
【问题描述】:

我可以像这样测试一个属性是否存在:

#import <objc/runtime.h>
-(void)testcachedPublicFeedExists
{
    objc_property_t prop = class_getProperty([store class], "cachedPublicFeed");
    XCTAssertTrue(prop);
}

但是如何测试像cachedVar 这样的类变量是否存在?

@interface FTDataStoreBase : NSObject
{
    NSMutableArray *cachedVar;
}

【问题讨论】:

    标签: ios unit-testing xctest


    【解决方案1】:

    您可以使用这些方法class_getInstanceVariableclass_getClassVariable

    - (void)testcachedVarExists
    {
        Ivar ivar = class_getInstanceVariable([store class], "cachedVar");
        XCTAssertTrue(ivar);
    }
    

    通过Apple docs了解更多信息。

    【讨论】:

    • 你确定这行得通吗?我是这样解决的:Ivar prop = class_getInstanceVariable([store class], "cachedPublicFeed"); XCTAssertTrue(prop);
    • @Hooman 是的,我是认真的,但写了别的东西。编辑了答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-11
    • 2015-08-25
    • 1970-01-01
    • 1970-01-01
    • 2018-05-01
    • 1970-01-01
    相关资源
    最近更新 更多