HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 从一个类别中测试私有方法的单元?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在NSString类上有一个包含私有帮助器方法的类别.
如果我可以在单元测试中使用这种方法,那将会很方便.
但是我很难揭露它.
当我在NSString上创建类扩展并在此声明方法时,该方法在单元测试中不可见.如果我在单独的头文件中创建类扩展,或者作为单元测试.m文件的一部分,则无关紧要.

看起来我在这里遗漏了一些东西.

有帮助吗?

解决方法@H_262_11@ @H_450_12@ 通用单元测试指南会告诉您不要尝试测试您的私有方法.仅通过您的公共接口进行测试.私有方法只是一个实现细节,可以在重构时随时更改.您的公共接口应该非常稳定,并且将使用您的私有方法.

但是,如果您仍想测试您的私有类别方法,以下内容适用于我……

首先,您的类别:

UIImage Example.h

@interface UIImage (ExamplE)    
@end

UIImage Example.m

@implementation UIImage (ExamplE)

+ (NSString *)examplePrivateMethod
{
    return @"TesTing";
}

@end
@H_669_5@myExampleTests.m

#import <XCTest/XCTest.h>
#import "UIImage+Example.h"

@interface UIImage (Example_Test)
+ (NSString *)examplePrivateMethod;
@end

@interface MyExampleTests : XCTESTCase
@end

@implementation MyExampleTests

- (void)testExample
{
    XCTAssertEqualObjects(@"Test",[UIImage examplePrivateMethod],@"Test should be test");
}

@end

基本上,在测试中重新声明您的私有方法在新类别中.但是,如上所述,这是为了测试而将私有方法公开,并将测试与您的实现相结合.

大佬总结

以上是大佬教程为你收集整理的ios – 从一个类别中测试私有方法的单元?全部内容,希望文章能够帮你解决ios – 从一个类别中测试私有方法的单元?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。