C# Autofac测试可以解析所有注册的类型
我在Autofac注册了一系列类型,其中一些依赖性相当深。是否有一种内置的测试方法可以解析所有注册的类型?我希望在应用程序启动时快速失败,而不是几分钟后半路失败 这就是我目前正在做的,而且似乎很有效,但我仍然想知道是否有更好的方法C# Autofac测试可以解析所有注册的类型,c#,autofac,C#,Autofac,我在Autofac注册了一系列类型,其中一些依赖性相当深。是否有一种内置的测试方法可以解析所有注册的类型?我希望在应用程序启动时快速失败,而不是几分钟后半路失败 这就是我目前正在做的,而且似乎很有效,但我仍然想知道是否有更好的方法 public void VerifyAllRegistrations() { foreach (IComponentRegistration registration in _container.ComponentRegistratio
public void VerifyAllRegistrations()
{
foreach (IComponentRegistration registration in _container.ComponentRegistrations)
{
bool isNewInstance;
registration.ResolveInstance(_container, new Parameter[0], new Disposer(), out isNewInstance);
}
}
private class Disposer : IDisposer
{
public void Dispose()
{
// no-op
}
public void AddInstanceForDisposal(IDisposable instance)
{
instance.Dispose();
}
}
Autofac没有提供任何这样的功能-因为Autofac创建组件是为了响应ResolveInstance,所以您将面临构造函数的副作用等 集成测试是解决这一问题的最佳方法。您可以试试