Hy大家,
我有两个目标:MyApp和UnitTests
MyApp包含两个类:ClassA和ClassB。 ClassA有一个使用ClassB方法的方法“getSomeNumber”。
UnitTest是一个“单元测试包”,在“组和文件”部分,我有一个名为“UnitTests”的文件夹,我在其中创建了一个“MyAppTest”类。
MyAppTest Class有以下方法:
-(void)testSomething
{
ClassA *cA = [[ClassA alloc] init];
int x = [cA getSomeNumber];
[cA release];
STAssertEquals(1, x, @"The number is not equal to 1");
}
我导入了“ClassA.h”,现在我需要将“ClassA.m”设置为“UnitTest”目标的一部分。 当我建立我有错误
**"_OBJC_CLASS_$_ClassB", referenced from:**
所以我需要将“ClassB.m”添加到“UnitTest”taget并且它可以工作。
如果ClassA使用使用数千个类的ClassC,会发生什么? 我有这个问题,我需要在“UnitTest”目标中包含数千个类。
我认为将整个 MyApp项目包含到UnitTest目标中可能是更好的解决方案或配置。
谢谢大家! 问候。
答案 0 :(得分:0)
如果您对数千个类有依赖关系,我建议您将这些类组织到可以重用的库中。这样,您可以将目标(用于测试或其他方式)链接到单个库,而不是包含大量单独的代码文件。
如果您要定位iOS设备,则需要创建静态库,因为无法在设备上动态链接到自定义库。