我应该在单元测试中使用哪种简单的注射器生活方式?

时间:2016-10-10 12:09:28

标签: unit-testing dependency-injection simple-injector

我正在编写集成测试,在每个测试设置上设置容器。我正在重用注册码,但在尝试使用Lifestyle.Scoped注册依赖项时出错。我收到此错误:

  

SetUp:System.InvalidOperationException:为了能够使用Lifestyle.Scoped属性,请通过为您的类型设置所需的范围生活方式的Container.Options.DefaultScopedLifestyle属性,确保容器配置了默认范围的生活方式。应用

在我的情况下,我应该使用什么DefaultScopedLifestyle?范围应该是单身,但请记住我正在重复使用webapi应用程序中的注册码。

1 个答案:

答案 0 :(得分:3)

对于集成测试场景,可以使用的范围生活方式是Per Lifetime ScopePer Execution Context Scope。 Per Lifetime Scope允许定义绑定到线程的作用域,而Per Execution Contest Scope允许定义将在异步操作上流动的作用域。