繁体   English   中英

模拟类进行单元测试

[英]Mocking a Class For Unit Tests

我有Class A具有另一个Class B实例的Class B 我已经完成了Class B中独立代码的单元测试。 对于其他操作, Class A调用Class B方法,使用其他类进行一些处理,然后调用Class B方法。

我的问题是如何模拟Class A的依赖关系并完成Class B单元测试? 如果Class B使用Class A实例,我可以模拟Class A并完成任务。 但是,在我的情况下, Class A使用Class B实例。

在这种情况下,如何模拟进行单元测试?

这取决于您如何设计class A class Bclass B

如果它们经过精心设计,则可以轻松地为interface IB -B的接口(使用GoogleTest&GoogleMock)进行模拟实现,然后在class A单元测试中使用该模拟实现。 要查看如何使用GoogleMock,请选中GoogleMock CheatSheet

否则,您可能会遇到类似于Google Mock的情况:在目标类的构造函数中实例化的Mock私有变量成员,则可能需要使用一些preprocessor directives来中断class A

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM