gpt4 book ai didi

我可以使用 cmocka 模拟返回结构的函数吗?

转载 作者:行者123 更新时间:2023-11-30 16:18:32 25 4
gpt4 key购买 nike

我有一个包含两个数据成员的简单结构。

typedef struct
{
int32_t x;
int32_t y;
} MyStructType;

我有一个按值返回结构的函数。

MyStructType get_my_struct(void)
{
MyStructType test = { 1, 2 };
return test;
}

那么,如何使用 cmocka 模拟 get_my_struct()

我试过了

MyStructType get_my_struct(void)
{
return mock_type(MyStructType);
}

// or

MyStructType get_my_struct(void)
{
return mock_ptr_type(MyStructType*);
}

但是我遇到编译错误。

我读到the cmocka documentation for mock objects ,但它没有给我明确的答案。

最佳答案

您可以取消引用模拟指针类型,

MyStruct get_my_struct(void)
{
return *mock_ptr_type(MyStructType*);
}

但您需要确保 will_return() 不为 NULL

关于我可以使用 cmocka 模拟返回结构的函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55874399/

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