我使用 GHUnit
。我想对私有(private)方法进行单元测试,但不知道如何测试它们。我找到了很多关于为什么或为什么不测试私有(private)方法的答案。但没有找到如何测试它们。
我不想讨论是否应该测试私有(private),但会专注于如何测试它。
谁能给我一个如何测试私有(private)方法的例子?
最佳答案
Objective-C 中的方法并不是真正私有(private)的。您收到的错误消息是编译器无法验证您调用的方法是否存在,因为它未在公共(public)接口(interface)中声明。
解决这个问题的方法是在类类别中公开私有(private)方法,这会告诉编译器这些方法存在。
所以在测试用例文件的顶部添加这样的内容:
@interface SUTClass (Testing)
- (void)somePrivateMethodInYourClass;
@end
SUTClass 是您正在为其编写测试的类的实际名称。
这将使您的私有(private)方法可见,并且您可以在没有编译器警告的情况下对其进行测试。
关于ios - 单元测试私有(private)方法 - Objective-C ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18354788/