【问题标题】:How to avoid duplicate definitions between stub and real code如何避免存根和真实代码之间的重复定义
【发布时间】:2013-09-17 10:26:09
【问题描述】:

我正在尝试为一些用 C 编写的遗留代码编写单元测试。我遇到的问题是我经常必须重新定义实际代码中使用的结构,以便在存根代码中使用它们。

例如,假设这是带有我要存根的函数的头文件:

typedef struct {
    int value;
    int type;
    int format;
} some_struct_t;

int some_function(some_struct_t *pStruct);

在存根代码中,我必须重新定义 some_struct_t 以便它在存根实现和单元测试中可见。

实际上结构比这个例子大得多。有什么办法可以避免这种重复吗?

【问题讨论】:

    标签: unit-testing stub code-duplication stubbing stubs


    【解决方案1】:

    您可以尝试将结构定义声明为某个头文件并在测试中导入该文件吗?

    【讨论】:

    • 这需要对包含目录进行一些编译器技巧,以便正在测试的 .c 文件将包含来自原始目录的一些头文件(那些带有结构声明的)和一些(那些带有存根声明)来自存根目录。我找不到更好的选择,我会试试的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-29
    • 1970-01-01
    • 2018-06-24
    相关资源
    最近更新 更多