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は、こんな風に使わない。」かもって部分です