我正在一个玩具项目中try 测试驱动的开发.我可以让测试在我的类的公共接口上工作(尽管我仍在犹豫,因为我编写的测试代码比正在测试的方法中的代码要多).

我倾向于使用很多私有方法,因为我喜欢保持公共接口干净;然而,我仍然希望对这些方法进行测试.

由于Cocoa是一种动态语言,我仍然可以调用这些私有方法,但我在测试中收到警告,我的类可能不会响应这些方法(尽管它显然会响应).由于我喜欢在没有警告的情况下编译,以下是我的问题:

  1. 如何在Xcode中关闭这些警告?
  2. 我还能做些什么来关闭这些警告吗?
  3. 我在try "白盒"测试时是否做错了什么?

推荐答案

如何在Xcode中关闭这些警告?

不要.

我还能做些什么来关闭这些警告吗?

不要.

我在try "白盒"测试时是否做错了什么?

解决方案是将私有方法移动到其标题中的类别中.将此头文件导入到实际类和测试用例类实现文件中.

Objective-c相关问答推荐

在 MacOS 上截屏

覆盖@property setter 和无限循环

iOS 7 表格视图无法自动调整内容插入

如何将变量参数传递给另一个方法?

如何在运行时向对象添加属性?

如何更改图像中的特定 colored颜色 ?

我应该打电话给 [super awakeFromNib] 吗?

为什么 UITableViewCell Select 时所有背景都消失了?

判断是否显示 UIAlertView

在 Objective-C 类中混合 C 函数

获取对 UIApplication 委托的引用

如何在 XCode 4 中创建 dSYM 文件?

如何在另一个视图中获取视图的框架?

如何调整 UIModalPresentationFormSheet 的大小?

xcode storyboard Container View - 如何访问视图控制器

WKWebView 判断 JavaScript 返回值

从 NSMutableString 中删除最后一个字符

导航返回时重新加载 UITableView?

在 Xcode 中制作 RGB colored颜色

无法更改 UILabel 文本 colored颜色