OC 单元测试学习笔记

UnitTest 编译异常汇总:

问题1

Check dependencies

No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=i386).

经过与正常 test target 设置比较,默认设置中 Debug architecture 只有armv7, 添加 arm64以后 Test build 即成功;

问题2

ld: -bundle_loader can only be used with -bundle

clang: error: linker command failed with exit code 1 (use -v to see invocation)

Mach-O 是 mac OS 上的可执行文件格式,在xcode help 文档中,具体是这样描述的,测试target 需选择 Bundle:

问题3

跑test target 碰到如下错误:

ld: entry point (_main) undefined. for architecture armv7

clang: error: linker command failed with exit code 1 (use -v to see invocation)

在test target 中 , General Tab, 把 Allow testing Host Application APIs 复选框勾上即解决了此问题。

附录:

Mach-O Type (MACH_O_TYPE)

This setting determines the format of the produced binary and how it can be linked when building other binaries. For information on binary types, see Building Mach-O Files in Mach-O Programming Topics.

  • Executable: Executables and standalone binaries and cannot be linked. mh_execute
  • Dynamic Library: Dynamic libraries are linked at build time and loaded automatically when needed. mh_dylib
  • Bundle: Bundle libraries are loaded explicitly at run time. mh_bundle
  • Static Library: Static libraries are linked at build time and loaded at execution time. staticlib
  • Relocatable Object File: Object files are single-module files that are linked at build time. mh_object
时间: 2024-10-12 09:22:49

OC 单元测试学习笔记的相关文章

OC本学习笔记Foundatio框架集

一.OC数组 OC数组是一个类,它也分不可变数组NSArray和可变数组NSMutableArray. 1?不可变数组的创建 // 创建一个不可变数组.元素为一个OC字符串对象 @"小桥" NSArray *array1 = [NSArray arrayWithObject:@"小桥"]; // 创建一个不可变数组,元素为多个OC字符串对象 NSArray *array2 = [NSArray arrayWithObjects:@"葬花 桥",

24-黑马程序员------OC 语言学习笔记--- autorelease和ARC

  黑马程序员------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- autoreleaseOC提供了autorelease语法,系统可以將很多对象放到一个自动释放池中,在某个时刻统一release一次.这样就不用再次调用release方法.1.autorelease的基本用法:   1>

23-黑马程序员------OC 语言学习笔记---内存管理

黑马程序员------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 对于面向对象的变成语言,程序需要不断地创建对象.初始,创建的所有程序通常都有指针指向它,程序可能需要访问这些对象的实例变量或调用这些对象的方法,随着程序的不断执行,程序再次创建了一些新的对象,而那些老的对象已经不会再被调用,也不

27-黑马程序员------OC 语言学习笔记--- Foundation02

黑马程序员------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- NSArray和NSMutableArrayNSArray代表元素有序,可重复的一个集合,集合中每个元素都有其对应的顺序索引,NSArray只能保存对象,不能保存基本类型.NSArray代表集合元素不可变的集合,一旦NSArra

28-黑马程序员------OC 语言学习笔记--- Foundation03

黑马程序员------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 1    NSSet和NSMutableSetNSSet和NSArray一样,也是一个集合,但是集合里的多个对象没有明显的顺序.NSSet不允许包含相同的元素,如果试图把两个相同的元素放在同一个NSSet集合中,则会只保留一个元

Junit单元测试学习笔记三

一.     高级 Fixture 上一篇文章中我们介绍了两个 Fixture 标注,分别是 @Before 和 @After ,我们来看看他们是否适合完成如下功能:有一个类是负责对大文件(超过 500 兆)进行读写,他的每一个方法都是对文件进行操作.换句话说,在调用每一个方法之前,我们都要打开一个大文件并读入文件内容,这绝对是一个非常耗费时间的操作.如果我们使用 @Before 和 @After ,那么每次测试都要读取一次文件,效率及其低下.这里我们所希望的是在所有测试一开始读一次文件,所有测

21-黑马程序员------OC 语言学习笔记---点语法和作用域

1    合成存取方法为成员变量实现setter和getter方法,虽然并不难,但如果一个类中包含10个甚至更多的成员变量,为每个成员都编写setter.getter方法將是一件令人反胃的事情.OC语言提供了自动合成setter和getter方法,而且如果开发者需要自己控制某个setter和getter方法的实现,开发者依然可以提供setter和getter方法,这个由开发者自定义的setter和getter方法将会覆盖系统自动合成的setter和getter方法.系统自动合成setter和ge

22-黑马程序员------OC 语言学习笔记---分类

黑马程序员------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! -------1    分类分类的语法格式为:1.分类的声明:@interface 类名 (分类名称)// 方法声明@end2.分类的实现:@implementation 类名 (分类名称)// 方法实现@end在声明部分,分类只能增加方法,不

26-黑马程序员------OC 语言学习笔记--- Foundation01

黑马程序员------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- Foundation框架是iOS开发的基础框架,它包括字符串.集合.日期.时间等基础类 void test(){ //定义Date这种结构体类型 struct Date{ int year; int month; int day