【发布时间】:2019-12-09 23:54:51
【问题描述】:
给定以下假设的遗留生产代码:
struct Foo
{
Bar bar;
bool baz()
{
return !bar.qux();
}
};
我如何模拟bar.qux(),以便它在一个测试中返回true,在另一个测试中返回false,而不使用dependency injection?
我正在使用Google Test 框架,但希望避免为依赖注入添加太多接口。为了可测试性而使用过多的接口往往会使生产代码过于复杂。
【问题讨论】:
-
如果您不想在运行时通过依赖注入执行此操作,那么您可以通过链接替代实现来执行链接时间。
标签: c++ unit-testing googletest