我有一个测试类,它实例化了一个我希望被模拟的类。这可能在gmock框架内吗?从我读到的内容来看,似乎必须创建模拟对象并将其传递给正在测试的对象,这不是我想要的。
我已经得到它,以便我可以将我的模拟类注入源代码,但我仍然坚持如何让它生成适当的对象。
答案 0 :(得分:0)
答案是将EXPECT_CALL()
放入构造函数中,使用*this
作为第一个参数。当然,这只有在您希望它始终保持相同时才有效。
如果预期的行为在不同实例之间变化,这将变得更加复杂,除非每个实例使用不同的构造函数。
如果使用相同的构造函数,那么您的模拟类可以使用静态计数器,该计数器可以根据实例计数更改预期值。