gpt4 book ai didi

objective-c - 单元测试失败,那就不要

转载 作者:搜寻专家 更新时间:2023-10-30 19:44:18 24 4
gpt4 key购买 nike

在经历了一些严重的挫折和头痛之后,我设法将单元测试添加到现有项目中。问题是,测试只有 50% 的时间被执行。我有一个内部带有 STFail 宏的测试方法,当我运行测试时,它会像我预期的那样失败。然后,我在不触及任何代码/设置的情况下再次运行测试,它会通过而不会在测试夹具中遇到断点。发生这种情况时,控制台会打印出以下输出:

无法在 ... octest 找到测试包的可执行文件。

我用过谷歌,但似乎没有很多人/任何人有这个确切的问题,关于这个主题的其他讨论正在我脑海中浮现。如果有人能阐明这个问题,我们将不胜感激。

谢谢。

最佳答案

我拿了你的新项目并重现了这个问题。存在许多问题,其中一个未知:

测试目标的构建阶段:

  • 目标依赖项:指定 TestApp,以便始终首先构建主要目标。
  • 编译来源:不包括任何主要来源。只包含 TestAppUnitTests.mm
  • 将二进制文件与库链接:唯一需要的是 SenTestingKit.framework。我们可以加入 Foundation 和 UIKit 以取得更好的效果。
  • 复制捆绑资源:应该什么都没有。 (稍后,您可能需要特定于测试的资源。)

测试目标的build设置:

  • Bundle Loader 应该是 $(BUILT_PRODUCTS_DIR)/TestApp.app/TestApp
  • 测试主机应该是 $(BUNDLE_LOADER)

主要目标方案:

  • Test -> Info 应该指定测试目标

但即使我进行了所有这些更改,您的项目仍然有奇怪的行为。模拟器有时会获得一个名为 ${PRODUCT_NAME} 的应用程序版本。即使调试应用程序有时也会在日志导航器中显示“Debug ${EXECUTABLE_NAME}”。所以还有其他问题,我不知道是什么。

最好的解决方案是从头开始创建一个新项目,指定“包括单元测试”。我已经验证这有效。

关于objective-c - 单元测试失败,那就不要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12546238/

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