我想为数据结构初始化例程编写一个测试。例如,
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/