Xcode运行C++单元测试

编码过程中,对函数功能的测试,通过单元测试完成,随着CI/CD的大规模使用,往往会通过CI/CD执行单元测试,确保每次提交的代码基本"正确"。用Xcode编写C++代码时,最好能和IDEA里面一样,在单元测试的函数旁边最好有执行按钮,这样比较方便。Xcode里面虽然做不到这样方便,但是还是可以做到相对方便。

添加测试计划

打开这个页面,就是左侧的第六个按钮。在这个页面左下角的加号,点开可以添加

测试计划

添加测试计划/测试目标/单元测试类

添加测试计划,测试目标后,点击New Unit Test Class...添加测试类,生成的类模版如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#import <XCTest/XCTest.h>

@interface MyTestCase : XCTestCase

@end

@implementation MyTestCase

- (void)setUp {
// Put setup code here. This method is called before the invocation of each test method in the class.
}

- (void)tearDown {
// Put teardown code here. This method is called after the invocation of each test method in the class.
}

- (void)testExample {
// This is an example of a functional test case.
// Use XCTAssert and related functions to verify your tests produce the correct results.
}

- (void)testPerformanceExample {
// This is an example of a performance test case.
[self measureBlock:^{
// Put the code you want to measure the time of here.
}];
}

@end

运行测试用例,既通过在代码旁边的按钮

点击运行单元测试

或者通过Test Navigator界面的按钮运行

测试导航界面按钮

但是,我需要测试C++函数,这样的话,可以将生成的.m文件修改后缀名为.mm, 这样就可以测试C++代码了