gpt4 book ai didi

c++ - 在为函数编写单元测试时,我应该模拟内部函数调用吗?

转载 作者:搜寻专家 更新时间:2023-10-31 00:52:43 24 4
gpt4 key购买 nike

struct api {
void do_yo() {
a = func1();
if (a) dosomething();
func2();
dosomething2();
}
};

现在我正在为 do_yo 编写单元测试,那么我应该模拟 func1func2 吗?

或者只是测试 do_yo 的可观察效果?

最佳答案

是的,您需要模拟 func1()func2() 以查看 do_yo() 如何对它们的不同随机行为使用react。

由于 func1()do_yo() 的影响最大,因此您需要定义 a 的可能值,这将使 do_yo() 失败或成功。

归根结底,单元测试的目的是消除基于一组未知输入的未定义或偶发行为。 (即代码覆盖率更高)。


更新

如果函数依赖于外部因素,模拟所有可能的行为是一项挑战,肯定需要时间。因此,我们有句俗话:“凡是你能控制的,有道理的,就 mock 他们”。

关于c++ - 在为函数编写单元测试时,我应该模拟内部函数调用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50962217/

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