Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OCUnit for iPhone应用程序-将所有.m文件设置为UnitTest目标的一部分_Iphone_Unit Testing_Ocunit - Fatal编程技术网

OCUnit for iPhone应用程序-将所有.m文件设置为UnitTest目标的一部分

OCUnit for iPhone应用程序-将所有.m文件设置为UnitTest目标的一部分,iphone,unit-testing,ocunit,Iphone,Unit Testing,Ocunit,大家好 我有两个目标:MyApp和UnitTests MyApp包含两个类:ClassA和ClassB。 ClassA有一个使用ClassB方法的getSomeNumber方法 UnitTest是一个单元测试包,在Groups&Files部分我有一个名为UnitTests的文件夹,我在其中创建了一个MyAppTest类 MyAppTest类具有以下方法: -(void)testSomething { ClassA *cA = [[ClassA alloc] init]; int x

大家好

我有两个目标:MyApp和UnitTests

MyApp包含两个类:ClassA和ClassB。 ClassA有一个使用ClassB方法的getSomeNumber方法

UnitTest是一个单元测试包,在Groups&Files部分我有一个名为UnitTests的文件夹,我在其中创建了一个MyAppTest类

MyAppTest类具有以下方法:

-(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标记中,它就可以工作了

如果ClassA使用使用数千个类的ClassC,会发生什么? 我有这个问题,我需要在UnitTest目标中包含上千个类

我认为将我的整个MyApp项目纳入UnitTest目标应该是一个更好的解决方案或配置

谢谢大家!!
关于。

如果您依赖于数千个类,我建议您将这些类组织到可以重用的库中。通过这种方式,您可以将测试目标或其他目标链接到单个库,而不是包含大量单独的代码文件


如果您的目标是iOS设备,则需要创建静态库,因为在设备上无法动态链接到自定义库。

谢谢。我会设法弄清楚怎么做。当做