我已将测试 (XCTests) 添加到 Xcode 5 中的现有 C++ 命令行应用程序
- 通过 Test Navigator > (+),
- 将测试类的扩展名改为
.mm
, - 向项目添加了XCTest 框架。
所有编译都很好。现在运行测试只给我一条“测试失败”消息,控制台中没有任何内容,导航器中既没有绿灯也没有红灯(即没有执行测试)。
从一个新的 Xcode 5 项目开始并将测试类的扩展名更改为 .mm
就可以正常工作,所以我认为这不仅仅是因为 XCTest 中缺少对 Objective-C++ 的支持。
即使将普通的普通测试目标添加到现有的 C++ 项目中,测试也会在运行之前失败。
在将 XCTest 添加到现有(目标)C++ 目标时,还有什么需要注意的问题吗?
更新 #1
使用 Xcode 5.0.2(在 10.8.5 上)xctest 现在会在同一场景中崩溃,并显示
*** NSTask: Task create for path '/Users/XXX/Library/Developer/Xcode/DerivedData/RM_Next_Gen-gpihzjouhxvifqcslmywktktizer/Build/Products/Debug/YYY Tests.xctest/Contents/MacOS/YYY Tests' failed: 22, "Invalid argument". Terminating temporary process.
objc[3478]: GC: forcing GC OFF because OBJC_DISABLE_GC is set
*** multi-threaded process forked ***
最佳答案
原来这是一个命令行 C++ 项目,显然目前 XCTest 不支持它。从 Objective-C(++) 项目测试 C++ 代码工作得很好..
只是希望在(不久的)将来的某个时候能有更好的 XCTest 文档。
关于c++ - 将 XCTest 单元测试添加到现有应用程序不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19155921/