OpenHarmony 单元测试2:gmock简单使用流程 原创 精华

碼磚民工
发布于 2022-1-5 15:13
浏览
3收藏

@toc

简介

此文章以OpenHarmony3.0代码为基础,Hi3516DV300开发板来进行编写测试
该文档演示: OpenHarmony Gmock的测试使用流程。学习此文档前,可以先学习
【单元测试1】, 通常情况下【单元测试1】就满足单元测试的要求。
主要流程是:编写一个c++静态库,然后写测试模块对c++静态库接口进行测试。

静态库

  • 编译之后的名称:libgmock_test_lib.a
  • 静态库路径:test\example\partB\gmock_test
  • 编译配置:test\example\partB\gmock_test\BUILD.gn
# 源代码测试模块有用ohos_executable, 添加到编译系统中去编译失败
ohos_unittest("gmock_test_main") {
  module_out_path = module_output_path
  sources = [
    "unittest/test_main.cpp",
    "unittest/AccountServiceTest.cpp",
    "unittest/StudentTest.cpp"
  ]
  deps = [
    "//third_party/googletest:gtest",
    "//third_party/googletest:gmock", # 这个依赖跟测试1不一样
  ]
  external_deps = [ "partB:gmock_test_lib", ]
  part_name = "partB"
}

group("unittest") {
  testonly = true
  deps = [
    ":gmock_test_main"
  ]
}

单元测试可执行文件

  • 编译后可执行文件:out/ohos-arm-release/tests/unittest/sub_example/partB/gmock_test_main
  • 编译配置路径: test\example\partB\gmock_test\test\BUILD.gn

ohos.build添加的内容

{
    "subsystem": "sub_example",
    "parts": {
        "partB": {
            "module_list": [
                ...
                "//test/example/partB/gmock_test:gmock_test_lib",
                ...
            ],
            "inner_kits": [
                ...
                {
                    "type": "a",
                    "name": "//test/example/partB/gmock_test:gmock_test_lib",
                    "header": {
                        "header_files": [
                            "Account.h",
                            "AccountService.h",
                            "AccountManager.h"
                        ],
                        "header_base": "//test/example/partB/gmock_test/include"
                    }
                }
                ...
            ],
            "test_list": [
                ...
                "//test/example/partB/gmock_test/test:unittest"
            ]
        },
	...
}

编译

静态库编译命令:

./build.sh --product-name Hi3516DV300 --ccache --build-target gmock_test_lib

单元测试可执行文件编译命令:

./build.sh --product-name Hi3516DV300 --ccache --build-target gmock_test_main

测试运行

编译成功后,可以把编译好的gmock_test_main用hdc_std.exe发送到Hi3516DV300开发板中去运行,在串口终端上输出测试用例的测试结果。

gmock_test_main放入开发板本人自建/data/test目录下:

hdc_std.exe file send Z:\out\ohos-arm-release\tests\unittest\sub_example\partB\gmock_test_main /data/test

修改成可执行权:

chmod 0711 /data/test/gmock_test_main

运行单元测试用例:

/data/test/gmock_test_main

OpenHarmony 单元测试2:gmock简单使用流程-鸿蒙开发者社区

文档里面涉及到的内容没有完全展示,想查看源码内容可以下载:
【源代码】,重点关注example\partB\gmock_test目录

参考:https://www.cnblogs.com/fnlingnzb-learner/p/6927817.html

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2022-7-17 23:18:55修改
6
收藏 3
回复
举报
1条回复
按时间正序
/
按时间倒序
科技维度
科技维度

感谢老师优质内容

1
回复
2022-1-6 08:54:41
回复
    相关推荐