我用GHUnit
.我想对私有方法进行单元测试,但不知道如何测试它们.我找到了很多关于为什么要或为什么不测试私有方法的答案.但没有发现如何测试它们.
我不想讨论我是否应该测试私家车,但将重点讨论如何测试它.
有谁能给我举个例子说明如何测试私有方法吗?
我用GHUnit
.我想对私有方法进行单元测试,但不知道如何测试它们.我找到了很多关于为什么要或为什么不测试私有方法的答案.但没有发现如何测试它们.
我不想讨论我是否应该测试私家车,但将重点讨论如何测试它.
有谁能给我举个例子说明如何测试私有方法吗?
Objective-C中的方法并不是真正私有的.您收到的错误消息是,编译器无法验证您正在调用的方法是否存在,因为它未在公共接口中声明.
解决这个问题的方法是公开类类别中的私有方法,这会告诉编译器这些方法是存在的.
因此,在测试用例文件的顶部添加如下内容:
@interface SUTClass (Testing)
- (void)somePrivateMethodInYourClass;
@end
SUTClass是为其编写测试的类的实际名称.
这将使您的私有方法可见,您可以在没有编译器警告的情况下对其进行测试.