S2JUnit4でコンテナ作成前に環境名を変更する
Java EE勉強会でのはなし。
@Prerequisiteに指定するOGNL式はコンテナ作成前に評価されるので、これを利用できますです。ただ、最終的に評価される式はtrueにならないとテストケースの実行がスキップされてしまうので注意。
@RunWith(Seasar2.class) public class HogeTest { public void hoge() throws Exception { assertEquals(Env.UT, Env.getValue()); } @Prerequisite("@org.seasar.framework.env.Env@setFilePath('hogeEnv.txt'), true") public void hoge2() throws Exception { assertEquals("hoge", Env.getValue()); } }
env.txtに「ut」が指定され、hogeEnv.txtに「hoge」が指定されている場合上の2つのテストケースが成功します。