【发布时间】:2015-04-16 13:08:36
【问题描述】:
我开始使用 HippoMocks 来编写单元测试。我想知道是否可以模拟非虚拟类方法?
乍一看代码似乎表明该框架仅支持虚拟方法。但由于它支持模拟简单的 C 函数,因此应该可以对非虚拟类方法执行相同的操作。
有没有办法做到这一点?
【问题讨论】:
-
一个简单的方法是在被测类的所有非虚拟方法前面添加一个说明符
TEST_VIRTUAL,并在单元测试上下文中构建时将其定义为virtual。但这只有在您不介意仅仅为了可测试性而修改被测代码时才可以,这可以说不是最干净的单元测试方法。我只会将此作为最后的手段。
标签: c++ unit-testing mocking hippomocks