c - C中结构初始化的单元测试

标签 c testing

我想为数据结构初始化例程编写一个测试。例如,

struct book_t
{
   float price;
   int page_num;
   char title[100];
   int hardcover:1;
   int on_sale:1;
   int language:3;
}

void init_book(struct book_t *b)
{
    /* use memset or assign value to each field */
};

init_book() 的测试将有助于防止开发人员在修改 struct book_t 时忘记更新 init_book()。逐一检查字段值没有帮助,因为不会测试新字段。

我正在考虑对这种情况使用某种 bool 运算,但它不足以从填充中确定未初始化的字段。有更好的方法吗?

最佳答案

单元测试无法检查添加新字段。

这应该通过代码审查来完成。

关于c - C中结构初始化的单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23880872/

相关文章:

c - 如何使用 getaddrinfo_a 与 glibc 进行异步解析

testing - Mocha 测试 express.js 应用程序 http 请求

C: glib.h `pkg-config --cflags --libs glib-2.0` valgrind 仍然可达

android - Robotium 测试随机失败

php - Codeception命名空间

eclipse - Chrome 浏览器未使用 Selenium 加载网页

testing - Selenium RC - t.replace 不是函数

python - bittorrent 中的 block 处理

c - 使用 C 在 linux 中挂载 USB 驱动器

C: gcc 环境的调试选项