在经历了一些严重的挫折和头痛之后,我设法将单元测试添加到现有项目中。问题是,测试只能在50%的时间内执行。我有一个带有STFail宏的测试方法,当我运行测试时,它会像我期望的那样失败。然后,我再次运行测试而不触及任何代码/设置,它将通过而不会在测试夹具中击中断点。发生这种情况时,控制台会打印出此输出:
无法找到... octest的测试包的可执行文件。
我有一个谷歌,但似乎没有很多/任何人有这个确切的问题,关于这个问题的其他讨论正在我的头上。如果有人能够对这个问题有所了解,那将非常感激。
感谢。
答案 0 :(得分:3)
我接受了你的新项目并重现了这个问题。有许多问题,一个未知:
构建测试目标的阶段:
构建测试目标的设置:
$(BUILT_PRODUCTS_DIR)/TestApp.app/TestApp
$(BUNDLE_LOADER)
主要目标方案:
但是,即使我做了所有这些更改,您的项目仍然有奇怪的行为。模拟器有时会获得一个名为$ {PRODUCT_NAME}的应用版本。即使调试应用程序,有时也会在Log Navigator中显示“Debug $ {EXECUTABLE_NAME}”。所以别的东西是错的,我不知道是什么。
最佳解决方案是从头开始创建一个新项目,指定“包含单元测试”。我已经确认这是有效的。