我希望 Unity 在单元测试中自动为 SUT 的依赖项注入模拟。
我更喜欢某种IServiceProvider实现来自定义(如果需要)模拟创建。
可能吗?
PS 我们使用 TypeMock
Typemock 实现了类似于您正在寻找的东西。
Fake.Dependencies创建了一个真实的 SUT 对象,将伪造的参数注入到其最长的 Tor 中。手动传递一些参数也是可能的,其余的都是自动伪造的。
UnderTest real = Isolate.Fake.Dependencies<SUT>([args])
您还可以在稍后的测试中获取虚假依赖项的代理。
var fake = Isolate.GetFake<F>(real);
我确信实施您自己的解决方案也是可能的。