【问题标题】:could one integrate C++ unit testing into Xcode's XCTest?可以将 C++ 单元测试集成到 Xcode 的 XCTest 中吗?
【发布时间】:2015-03-17 23:20:11
【问题描述】:

我有自己的小型跨平台 C++ 单元测试框架,其中单元测试如下所示:

#include "Test.h"

DEFINE_TEST(myTest) {
    AssertEqual(2+2, 4);
}

并且在 .cpp 文件中。

(似乎类似于Catch 的做法,我敢肯定)

我想将它与 Xcode 集成,因此我可以使用 Xcode 的 Run Tests 命令运行我的测试,并利用 other tools 这取决于以这种方式运行的单元测试。理想情况下,我希望我的每个测试用例都是 XCTest 测试用例(尽管我可以为每个测试手动设置它),并且我希望我的断言(AssertEqual)表现得像 XCTest 的(XCTAssert)。

这可能吗?如果是这样,我该怎么做?

(注意:不要切换到只使用 XCtest,因为我希望我的测试也能在 Windows 上运行)

【问题讨论】:

  • 您能找到一种跨平台的好方法吗?

标签: c++ xcode unit-testing xctest


【解决方案1】:

与 Xcode 集成基本上意味着确保:

  • 这些测试中的每一个最终都作为测试用例类的测试方法。
  • 每个失败的断言都会将-[XCTestCase recordFailure:withDescription:inFile:atLine:expected:] 发送到当前正在执行的测试用例类实例。

在第一次测试运行后,Xcode 将使用所有运行时发现的测试填充测试导航器,这些测试组织在测试用例类下。

您也许可以使用宏完成大部分工作,让预处理器在编译时构建您的测试用例类和方法。否则,在测试运行程序轮询运行时以发现所有 XCTestCase 子类及其测试方法之前,您需要在运行时检查并连接所有内容。

【讨论】:

    猜你喜欢
    • 2017-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-05
    • 1970-01-01
    • 1970-01-01
    • 2011-03-05
    • 2019-10-09
    相关资源
    最近更新 更多