extern NSString *常量为测试目标的nil

时间:2014-05-23 05:58:14

标签: objective-c xcode xctest

我最近在Xcode 5.1中添加了一个测试目标(使用XCTest)到我的应用程序。一切似乎工作正常,我可以使用主应用程序中的所有类等,但是我的应用程序中的一些extern NSString *常量(即在.h文件中声明,在.m文件中定义)是nil在测试代​​码中使用时。我尝试将.m文件包含在测试目标的编译源中,修复它们为nil但是会产生其他问题(在.m文件中定义的类然后重复存在,即测试目标对于类有不同的Class实例)。我正在测试运行iOS 7.1的iPhone 5S。

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:1)

您当前在.m文件的顶部定义了真实的NSString对象,这些对象是独立的,甚至可能在“@interface”类别声明之外,也可能在某个对象的“@implementation”代码之外。

为什么不创建 .m文件 NOT 包含“@implementation “,但只包含NSString常量?

然后将新的.m文件(没有关联的类)添加为应用程序和测试目标中的编译文件。