gpt4 book ai didi

ios - 使用静态库进行单元测试

转载 作者:可可西里 更新时间:2023-11-01 03:39:29 27 4
gpt4 key购买 nike

我有一个包含用户界面项目 (UI) 和核心逻辑项目 (Core) 的 XCode 工作区。我想在 UI 项目中进行 OCUnit 单元测试,所以我添加了一个新的测试目标,就像通常所做的那样。

我能够很好地运行测试,直到我在主 UI 目标中为类放入导入语句,而这些类又引用了 Core 项目。

我收到的错误是“找不到词法或预处理器问题‘xxx.h’文件”。当我直接构建主 UI 目标时,我没有收到此消息。

就好像主 UI 目标在构建时知道 Core,但是当它从测试目标引用时它似乎对 Core 一无所知。

我采取了使用“将二进制文件与库链接”来添加对核心项目的引用的步骤。列表中的项目仍然是红色的。线索?也许吧,但是链接列表中的红色引用不会阻止 UI 目标构建和使用核心类。我还使主要目标成为测试目标的依赖项。

最佳答案

请务必查看 Apple 示例代码“单元测试”: https://developer.apple.com/library/ios/#samplecode/UnitTests/Introduction/Intro.html#//apple_ref/doc/uid/DTS40011742

确保您的库项目在 OCUnit 测试目标的构建阶段中设置为依赖项,并且它作为库链接。

在 Xcode 中打开您的项目。在文件菜单中,转到项目设置...(或工作区设置...如果您使用的是工作区)。单击 Advanced... 并确保选中 Unique。清理和重建。

检查您的 BUILD_PRODUCTS_DIR 以查看您的库的 header 是否显示在那里。如果他们不这样做,请首先检查您的库目标中的构建阶段,以确保您需要的 header 位于公共(public)部分(项目部分也可以工作,但尝试公共(public),看看是否能解决您的问题)。

这涵盖了人们在您的情况下似乎遇到的最常见问题。如有疑问,请根据您的设置检查 UnitTests 示例中的目标设置。祝你好运!

关于ios - 使用静态库进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10611988/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com