Spring .NET在config中设置属性值而不实例化对象

时间:2013-05-29 15:07:00

标签: dependency-injection spring.net

我正在写一个TestClass让我们说“ServiceTest”,它有一个名为ExampleService的属性

public IService ExampleService { get; set;}

我在我的测试方法中使用ExampleService并在其上调用一些操作。 我需要使用spring.config实例化IService。 但由于它是Test类,我不想在spring配置中创建ServiceTest实例。我知道如何使用标签。

<object id="MyService" type="MyTestProject.ServiceTest, MyTestProject">
    <property name="ExampleService " ref="SomeAssembly.ServiceClass"/>
</object>

但我只想在app.config中设置ExampleService的值,以便实例化并为变量ExampleService设置。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

如果您正在编写单元测试,那么您真的不想启动弹簧上下文。那里有模拟和自动模拟框架,更适合构建假依赖的工作:

http://blog.ploeh.dk/2013/03/11/auto-mocking-container/

http://code.google.com/p/moq/

但是,如果您处于集成测试场景中,则应该查看别名(具体取决于您的场景,您可以使用专用别名文件):
http://www.springframework.net/doc-latest/reference/html/objects.html#d4e596