如果我可以在单元测试中使用这种方法,那将会很方便.
但是我很难揭露它.
当我在Nsstring上创建类扩展并在此声明方法时,该方法在单元测试中不可见.如果我在单独的头文件中创建类扩展,或者作为单元测试.m文件的一部分,则无关紧要.
看起来我在这里遗漏了一些东西.
有帮助吗?
解决方法 通用单元测试指南会告诉您不要尝试测试您的私有方法.仅通过您的公共接口进行测试.私有方法只是一个实现细节,可以在重构时随时更改.您的公共接口应该非常稳定,并且将使用您的私有方法.但是,如果您仍想测试您的私有类别方法,以下内容适用于我……
首先,您的类别:
UIImage Example.h
@interface UIImage (Example) @end
UIImage Example.m
@implementation UIImage (Example)+ (Nsstring *)examplePrivateMethod{ return @"Testing";}@end
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 – 从一个类别中测试私有方法的单元?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)