Autofac配置验证

时间:2010-05-06 08:39:30

标签: configuration autofac

Autofac是否与StructureMap的 AssertConfigurationIsValid 方法等效?或者在创建容器时是否进行配置验证?

我相信 AssertConfigurationIsValid 方法会检查容器是否可以创建所有已配置的服务。显然,它无法获得更多微妙的配置错误 - 例如与范围相关 - 但是我们很高兴知道我们正在尽可能地防止可能在运行时出现的问题。

1 个答案:

答案 0 :(得分:7)

我不认为Autofac有验证,如果无法解析服务,则会在运行时抛出异常。它可能会有用,但我总是倾向于编写单元测试来验证我的容器,或者更确切地说是我的modules,包含我期望它拥有的那些服务。单元测试可以弥补容器验证的不足。

这些测试通常遵循

的模式
  1. 使用待测模块创建容器
  2. 对于每项所需服务,请测试container.IsRegistered
  3. 尽可能测试container.Resolve