我正在向我的Container
注册许多类型,实现各种接口。在单元测试中验证Autofac注册
在一些编程方式中,我想要一个单元测试来检查所有解析是否成功,这意味着在注册中没有循环或缺失依赖关系。
我尝试添加像这样:
[TestMethod]
public void Resolve_CanResolveAllTypes()
{
foreach (var registration in _container.ComponentRegistry.Registrations)
{
var instance = _container.Resolve(registration.Activator.LimitType);
Assert.IsNotNull(instance);
}
}
但它在第一次运行失败的解决Autofac.Core.Lifetime.LifetimeScope
,虽然我接受ILifetimeScope
作为参数的方法,并得到它就好了我的应用程序启动时。
哪一行抛出异常借来的?抛出了什么确切的异常? – mjwills
'Resolve'行。问题是试图解决'LimitType'不正确,这种类型是解析的实例类型,而不是注册类型。 – Mugen