我有自己的小型跨平台 C++ 单元测试框架,其中的单元测试如下所示:
#include "Test.h"
DEFINE_TEST(myTest) {
AssertEqual(2+2, 4);
}
并且在 .cpp 文件中。
(看起来类似于 Catch 的方式,我敢肯定还有其他方式)
我想将它与 Xcode 集成,这样我就可以使用 Xcode 的运行测试命令运行我的测试并利用 other tools这取决于以这种方式运行的单元测试。理想情况下,我希望我的每个测试用例都是 XCTest 测试用例(尽管我可以为每个测试手动设置它)并且我希望我的断言 (AssertEqual) 表现得像 XCTest 的 (XCTAssert)。
这可能吗?如果可以,我该怎么做?
(注意:不要切换到仅使用 XCtest,因为我希望我的测试也能在 Windows 上运行)
最佳答案
与 Xcode 集成基本上意味着确保:
- 这些测试中的每一个最终都会成为测试用例类的测试方法。
- 每个失败的断言都会将
-[XCTestCase recordFailure:withDescription:inFile:atLine:expected:]
发送到当前正在执行的测试用例类实例。
然后,在第一次测试运行后,Xcode 将使用所有运行时发现的测试填充测试导航器,这些测试组织在它们的测试用例类下。
您可以使用宏来完成大部分工作,让预处理器在编译时构建您的测试用例类和方法。否则,在测试运行器轮询运行时以发现所有 XCTestCase
子类及其测试方法之前,您需要在运行时检查并连接所有内容。
关于c++ - 可以将 C++ 单元测试集成到 Xcode 的 XCTest 中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28033334/