gpt4 book ai didi

c - 使用 Unity 进行单元测试时模拟 C 函数

转载 作者:行者123 更新时间:2023-11-30 14:54:58 37 4
gpt4 key购买 nike

我有一个包含 2 个模块的 C 项目 - A 和 B。B 有一个函数调用 A 的函数。

int B_func() {
if (1 == A_func()) {return 1;}
return 2;
}

我使用 unity 来测试这些模块。

TEST(B, test_b) {
TEST_ASSERT_EQUAL(1, B_func())
}

当我测试模块 B 时,我想模拟 A_func,以便它将使用我的实现并更改返回值。有没有办法在不改变模块B的源代码的情况下做到这一点?

最佳答案

我最终使用了Mimick。 https://github.com/diacritic/Mimick

有点麻烦。我需要将我的项目编译为共享对象并将其链接到我的测试,以便我的函数将位于 GOT 中,因此它并不理想,但成功解决了我的问题。

关于c - 使用 Unity 进行单元测试时模拟 C 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46390942/

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