依赖注入是否尝试为具有默认值的 c'tor 参数提供值



我们有很多单元测试是在Foo的构造函数签名为

时编写的。
Foo(Bar bar)

现在我们想把构造函数扩展到Foo(Bar bar, Baz baz),但这意味着要修改所有的单元测试…

…除非我们提供一个默认值Foo(Bar bar, Baz baz = default)

我知道依赖注入需要不能构造的东西的默认值,但是如果可以构造一个Baz,并且参数有默认值,它会怎么做呢?

我做了一个实验,答案是"是"。如果依赖注入可以构造一个Baz,那么这就是构造函数将接收到的,而不是默认值。

最新更新