iOS Unit/Application-Test 如何从他们的主机应用程序中针对 link 针对 类?
How do iOS Unit/Application-Test targets link against classes from their host app?
我目前正在尝试将单元测试(准确地说是应用程序测试)添加到我的应用程序(一个非常古老的项目..评论说 iOS 2.0)并且总是偶然发现 undefined symbols for architecture
当我尝试测试 class 时,它位于我的主机应用程序中。由于明显的修复还没有奏效,我想深入了解整个过程。如果有人能透露一些信息,我们将不胜感激:)
到目前为止我收集到的信息:
单元测试目标需要一个主机应用程序。这在 "TEST_HOST" 中指定。此外,它还在 BUNDLE_LOADER.
中指定
测试对象需要提供符号。所以"Strip Debug Symbols During Copy"应该是NO.
需要启用要测试的目标才能进行测试"Enable Testability" = YES
有些人需要Post部署处理设置为NO
在测试目标中,hostapp 应该 "allow testing host applications APIs"
当链接器链接测试文件时,它会在某处(指定此路径的确切位置)搜索来自主机应用程序的目标文件和符号。然后在成功链接后,它将单元测试 "plugin" 部署到应用程序插件文件夹并开始测试。
如您所见,这是一个相当粗略的理解。因此,如果您能添加详细信息(无论多么微小),我将非常感激。
我才发现我还没有回答这个问题...
在我的例子中,丢失的符号是编译库时将可见性设置为隐藏的结果。如果是这种情况,测试将无法找到符号,因为库没有将它们提供给 public。更改用于测试的编译命令以将可见性设置为默认值会有所不同。
我目前正在尝试将单元测试(准确地说是应用程序测试)添加到我的应用程序(一个非常古老的项目..评论说 iOS 2.0)并且总是偶然发现 undefined symbols for architecture
当我尝试测试 class 时,它位于我的主机应用程序中。由于明显的修复还没有奏效,我想深入了解整个过程。如果有人能透露一些信息,我们将不胜感激:)
到目前为止我收集到的信息:
单元测试目标需要一个主机应用程序。这在 "TEST_HOST" 中指定。此外,它还在 BUNDLE_LOADER.
中指定
测试对象需要提供符号。所以"Strip Debug Symbols During Copy"应该是NO.
需要启用要测试的目标才能进行测试"Enable Testability" = YES
有些人需要Post部署处理设置为NO
在测试目标中,hostapp 应该 "allow testing host applications APIs"
当链接器链接测试文件时,它会在某处(指定此路径的确切位置)搜索来自主机应用程序的目标文件和符号。然后在成功链接后,它将单元测试 "plugin" 部署到应用程序插件文件夹并开始测试。
如您所见,这是一个相当粗略的理解。因此,如果您能添加详细信息(无论多么微小),我将非常感激。
我才发现我还没有回答这个问题...
在我的例子中,丢失的符号是编译库时将可见性设置为隐藏的结果。如果是这种情况,测试将无法找到符号,因为库没有将它们提供给 public。更改用于测试的编译命令以将可见性设置为默认值会有所不同。