2

好的,所以我有一个在服务器环境中工作的自定义范围。我正在尝试编写一些单元测试,在单元测试的情况下,我希望这些 bean 是单例的,因为模拟使自定义范围工作所需的一切都太复杂了。

我只想做这样的事情

<!-- spring-test.xml -->
<bean class="org.springframework.beans.factory.config.CustomScopeConfigurer">
    <property name="scopes">
        <map>
            <entry key="myCustomScope" value-ref="singletonScope"/>
        </map>
    </property>
</bean> 

我想在junit测试中覆盖我的自定义范围,让它成为单例。然而,似乎没有一个SingletonScope class,因为它似乎完全嵌入框架中,是默认的。

4

1 回答 1

1

我认为编写一个行为类似于单例范围的 Scope 实现相对容易,特别是如果您不特别关心破坏回调(但即使那样也不是那么困难)。我假设出于测试目的,您更关心对象的创建而不是销毁,因此它应该只是调用和缓存来自您在 Scope.get() 中传递的 ObjectFactory 的值的问题。

于 2012-12-06T16:39:49.170 回答