我最近在Xcode 5.1中添加了一个测试目标(使用XCTest)到我的应用程序。一切似乎工作正常,我可以使用主应用程序中的所有类等,但是我的应用程序中的一些extern NSString *
常量(即在.h文件中声明,在.m文件中定义)是nil在测试代码中使用时。我尝试将.m文件包含在测试目标的编译源中,修复它们为nil但是会产生其他问题(在.m文件中定义的类然后重复存在,即测试目标对于类有不同的Class实例)。我正在测试运行iOS 7.1的iPhone 5S。
任何帮助表示感谢。
答案 0 :(得分:1)
您当前在.m文件的顶部定义了真实的NSString对象,这些对象是独立的,甚至可能在“@interface
”类别声明之外,也可能在某个对象的“@implementation
”代码之外。
为什么不创建 新 .m文件 NOT 包含“@implementation
“,但只包含NSString常量?
然后将新的.m文件(没有关联的类)添加为应用程序和测试目标中的编译文件。