【问题标题】:Disabling *No visible @interface* error for unit test target为单元测试目标禁用 *No visible @interface* 错误
【发布时间】:2012-07-28 07:41:36
【问题描述】:

我有一个类别(在NSDate 上),其中包含一个仅从该类别中的另一个方法调用的方法,因此无需在该类别的头文件中公开该方法。

但是,正如预期的那样,如果我从单元测试中调用该方法,编译器会大喊

“NSDate”没有可见的@interface 声明选择器“myMethod:”

我希望能够关闭这些特定错误(当然,仅针对单元测试目标)。

有人能指出正确的编译器标志的方向吗?

【问题讨论】:

  • 任何反对者愿意评论我可以做些什么来改善这个问题?

标签: xcode unit-testing compiler-errors


【解决方案1】:

与其关闭它们,为什么不重新声明呢?如果你完全关闭警告,那么你就会失去编译器会在真正的地方给你警告的事实。

所以只需在单元测试上方声明它

@interface NSDate (UnitTests)

// your method sig

@end

@implementation YourUnitTest

//...

【讨论】:

  • 太棒了...我可以看到你从哪里得到这 10.8k 点!!
  • FWIW,我只对在单元测试目标中关闭错误感兴趣。编译常规目标仍然会突出显示它们。不过现在有争议。
  • 我仍然认为这是更安全的选择。你仍然在单元测试中编写代码,所以你仍然可以犯错误 - 让编译器为你工作来检测明显的错误。
猜你喜欢
  • 1970-01-01
  • 2019-02-23
  • 1970-01-01
  • 2020-12-17
  • 1970-01-01
  • 2011-08-12
  • 2011-07-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多