c - 如何使用 DejaGnu 设置单元测试

我正在尝试学习 DejaGnu ( https://www.gnu.org/software/dejagnu/ ) 并想将其用作 C API 单元测试的框架。我的构建系统基于 Autotools。

./testsuite 的子目录中,我有一些 C 文件,每个文件都包含 dejagnu.h 并使用其过程来报告通过和失败一些测试。

./testsuite 中,我的 Makefile.am 有一行 AUTOMAKE_OPTIONS=dejagnu,它导致 make check 调用 DejaGnu 的 runtest

我现在缺少的是一些胶水代码(可能是一些 Expect 文件),它可以让 runtest 找到我的带有单元测试的 C 文件,执行它们并收集结果。

我正在寻找比 DejaGnu 在其手册中的描述更好的解释、示例设置或指向某个开源项目的链接,这些项目实际上实现了我在其构建系统中的想法。

(我不是要求替代工具。这是一个特别关于 DejaGnu 的问题。)

最佳答案

使用 dejagnu.h 中定义的 pass/fail 函数只对用于单元测试的批处理工具有效。您需要的是一个简单的 xx.exp 文件,如下所示:

load_lib dejagnu.exp

host_execute $srcdir/unit-code/unittest

https://stackoverflow.com/questions/56766267/

相关文章:

python - 删除谷歌驱动器文件时权限不足错误

linux - devtoolset-7 STL_vector.h 未定义对 `std::__thr

visual-studio-code - 寻找用于 i18n 资源包编辑的 visual studi

scala - 寻找第二个匹配隐式

google-chrome - Chrome 开发工具 : memory heap snapshot

python - ipywidgets 与 Jupyter Lab 版本 1.0+ 兼容吗?

python - 有没有办法在 Windows 上使用 gradle 编译 python proto

azure - 运行管道测试时出现无效的按需测试运行运行 ID 0 错误

hive - 如何禁用 Hive 表的事务?

apache-kafka - 无法从客户端 session ID 读取其他数据