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.get()で渡されるObjectFactoryから値を呼び出してキャッシュするだけで済みます。

于 2012-12-06T16:39:49.170 に答える