Serviceのテストってどうやるんだ?
最近のSAStrutsはLogicやDaoをまとめたEntityごとに存在するServiceを用意するのが推奨?されているみたいですね。
ところで、この方針でServiceを作った場合のテストってどうするんでしょう?
テスト対象クラス
public class HogeService extends AbstractService<Hoge>{ }
試行錯誤したテストクラス
public class HogeServiceTest extends S2TestCase{ @Override protected void setUp() throws Exception { include("app.dicon"); } public void testFindAll() { HogeService hogeService = new HogeService(); List<Hoge> hogeList = hogeService.findAll(); //後はHogeリストの中身を表示する } }
すると、Sesarで用意されているS2AbstractServiceの下記の場所でjdbcManagerがnullでぬるぽが発生してしまいます。
public AutoSelect<T> select() { return jdbcManager.from(entityClass); }
当然、テストクラスをこうすればきちんとDBからデータが取り出せるが、Serviceのテストになっていない。。
public class HogeServiceTest extends S2TestCase{ @Override protected void setUp() throws Exception { include("app.dicon"); } public void testFindAll() { List<Hoge> hogeList = jdbcManager.from(Hoge.class).getResultList(); //後はHogeリストの中身を表示する } }
Serviceクラスのテストってどうやるんでしょう??