gpt4 book ai didi

unit-testing - Android NDK 上的单元测试

转载 作者:行者123 更新时间:2023-12-03 12:16:35 25 4
gpt4 key购买 nike

您如何在 Android 原生代码(原生 C/C++,而不是 Java)上运行单元测试?到目前为止我只找到了one类似的问题,答案说将 junit 与 JNI 一起使用,我不想这样做(添加 JNI 调用对于单元测试来说似乎不必要地复杂,并且无论如何都不是 native 代码的单元测试)。

CppUnit(也建议在那里)真的适用于Android吗?请注意,我希望测试在设备上本地运行,而不是在主机开发环境上。 This看起来像一个Android端口,值得一看吗?

一个官方的谷歌测试框架,如 googletest将是理想的,但这似乎不适用于 NDK。

最佳答案

我通过 NDK 使用 googletest 我使用 $(call import-module 来引入主 .so,然后在可执行文件中有一个看起来像

int main(int argc, char *argv[])
{
#if RUN_GTEST
INIT_GTESTS(&argc,(char**)argv);
RUN_ALL_GTESTS();
#endif
}

然后我用 BUILD_EXECUTABLE 构建它,像这样部署它:
find libs/ -type f -print -exec adb push {} /data/local/tmp \;

像这样运行它
adb shell LD_LIBRARY_PATH=/data/local/tmp:/vendor/lib:/system/lib /data/local/tmp/gtest

所以它不测试应用程序的生命周期,但它测试所有的单元测试。

如果我需要使用 UI 测试某些东西,我可以做类似的事情,但将现在的“主要”功能设为 native 函数,并在加载事件时调用它。

关于unit-testing - Android NDK 上的单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18126967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com