代码之家  ›  专栏  ›  技术社区  ›  Jonathan Leffler

如何在Xcode中组织库项目的单元测试?

  •  6
  • Jonathan Leffler  · 技术社区  · 16 年前

    我还不是集成开发环境的粉丝,但我正在努力克服我的偏见,学习Xcode。(Eclipse/CDT是下一个;去年我尝试过,也没能让它为我工作,但这是另一个问题。)

    源代码:

    • 原子。c
    • 原子。h
    • 测试原子。c

    生成的文件:

    • 利巴替尼
    • 测试原子

    atom.c atom.h 编入图书馆。我只是不确定如何组织事情,以便我也能构建 test-atom

    2 回复  |  直到 16 年前
        1
  •  4
  •   Chris Hanson    16 年前

    你的项目需要两个目标;Xcode中的目标生成 产品 它是一个库、可执行文件或其他输出。

    这样你就有了一个生产目标 libatom.dylib ,我怀疑您已经设置好了,以及另一个命令行可执行目标来生成 test-atom 可执行文件,供您运行以测试您的库。

    一旦你添加了 测试原子 目标,你应该获取信息 test-atom.c 并删除其 会员资格 利巴替尼 target,并将其添加为新成员 测试原子 目标。文件的目标成员身份决定了构建目标是否会尝试编译/复制/链接该文件。(目标对文件的处理取决于它成为成员时添加到哪个构建阶段。)

    您还应该获取以下信息 利巴替尼 进入您的产品组,并制作 成员 测试原子 目标也是。这将导致 测试原子 利巴替尼 .

    最后,获取有关的信息 测试原子 目标(不是产品),并在“常规”选项卡中添加 依赖 利巴替尼 目标。这将确保建筑 测试原子 target将始终首先构建 利巴替尼 目标。

        2
  •  2
  •   Community Mohan Dere    9 年前

    编辑:请参见 Automated Unit Testing with Xcode 3 and Objective-C (我最初链接的文章的最新版本,如下面的评论中所指出的)。另请参阅 What is the best way to unit test Objective-C code? 虽然你显然还没有使用Obj-C,但设置新目标的基础知识对C代码来说是一样的,OCUnit特定的东西非常能代表IDE中的单元测试是如何工作的。