S2Unit
シングルトンコンテナ使用時(S2ContainerServlet)にコンテナをプログラムの中で
S2Container container = SingletonS2Container.getContainer();
ってするか、
void setContainer(S2Container container);で
コンテナを渡すかどちらかになると思うんですが、前者の場合、既存のS2Unitでテストがしにくかったので、
S2SingletonUnitを考えてみました。
public void runBare() throws Throwable { S2ContainerManager.setRoot(null); SingletonS2ContainerFactory.init(); container_ = SingletonS2ContainerFactory.getContainer(); setUp(); try { setUpForEachTestMethod(); try { container_.init(); try { bindFields(); try { runTestDSTx(); } finally { unbindFields(); } } finally { container_.destroy(); } } finally { tearDownForEachTestMethod(); } } finally { tearDown(); } }
こんな感じで、どうなんでしょう。ぱっと見た目うまく動いてるんですが、個人的に自信なしなしです。S2TestCaseを継承してみれば良いかも。自信のない点は、「そもそもSingletonnS2ContainerFactoryは、こんな風に使わない。」かもって部分です