gpt4 book ai didi

testing - 是否可以使用 XCode 的 SenTestingKit 对静态库项目进行单元测试?

转载 作者:技术小花猫 更新时间:2023-10-29 10:22:09 26 4
gpt4 key购买 nike

我已经创建了一个 iOS 单元测试目标,用于按照 Apple 文档中提供的步骤进行逻辑测试。

但是我的构建失败了并且出现了以下错误:

Undefined symbols:
"_OBJC_CLASS_$_MyClass", referenced from: objc-class-ref-to-MyClass in LogicTests.o ld: symbol(s) not found collect2: ld returned 1 exit status

通常,如果我想在应用程序中使用我的静态库,我会包含 library.a 文件和 header (包括 MyClass.h 文件...)。如果我的测试用例正在使用 MyClass.h,是否需要额外的东西来对同一个项目中的静态库运行逻辑测试?

谢谢

最佳答案

由于静态库的性质,您无法执行应用程序测试,而这正是您想要做的。但是,您可以执行逻辑测试。

您对客户端应用程序中的单元测试的观察是正确的。

Xcode 模板可选择包含单元测试,但如果您转到该单元测试的build设置,您会看到它没有指定测试主机或捆绑加载器。这是因为静态库的性质。它们不是应用程序,它们是库 - 所以您可以进行逻辑测试您不能进行应用程序测试

您可能希望对静态库执行的应用程序测试可能包括以下场景:

My library creates an SQLite database at runtime, I wish to perform a unit test to check everything is inserting and/or updating as expected.

为了使用单元测试对此进行测试,必须创建另一个应用程序,该应用程序包含 或以其他方式依赖 您的库。此应用程序然后包含您的库,然后可以在那里设置应用程序测试。

关于testing - 是否可以使用 XCode 的 SenTestingKit 对静态库项目进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4465267/

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