如何使用 CppUMock 模拟具有非虚函数的类

How to mock a class with non virtual function with CppUMock

提问人:LPo 提问时间:8/30/2022 更新时间:8/30/2022 访问量:141

问:

我正在使用 CppUTest 和 CppUMock 框架编写单元测试。

这是我的一个例子:

class ClassA
{
public:
    ClassA(ClassB &classB);
}
class ClassB
{
public:
    ClassB();
    void DoingThings(void);
}

我想对 ClassA 进行单元测试。问题是 ClassA 使用了对 ClassB 的引用,这就是为什么我想嘲笑 ClassB。

我的问题是 ClassB 不包含任何虚拟类。所以直到现在挽救我生命的遗产这次不起作用。 事实上,到目前为止,我只有从接口继承的 ClassB,这非常方便,因为我可以编写从同一接口继承的 ClassBMock。

我的问题是如何模拟 ClassB(使用 CppUTest/CppUMock 框架)?

C++ 单元测试 模拟 cpputest

评论

0赞 463035818_is_not_an_ai 8/30/2022
从某个接口继承?ClassB
0赞 LPo 8/30/2022
@463035818_is_not_a_number 这意味着修改我的生产代码来测试它,这似乎适得其反?
0赞 463035818_is_not_an_ai 8/30/2022
编写可测试的代码不会适得其反。如果你的代码很难测试,那么你最好修改它

答: 暂无答案