Seam 2.2、Spring 3.1、TestNG、および DBUnit を使用しています。シンプルな TEST クラスで seam コンポーネントをインスタンス化しようとしています:
@Test
public void testGetCalendarInfo() throws Exception {
new ComponentTest() {
@Override
protected void testComponents() throws Exception {
String startDateParam = "21/07/1989 00:00:00";
String endDateParam = "22/07/1989 00:00:00";
CalendarAction calendarAction = (CalendarAction)
Component.getInstance(CalendarAction.class, true);
String jsonString = calendarAction.getCurrentEvents(startDateParam, endDateParam);
Assert.assertEquals(jsonString, INFORMATION_LIST_JSON);
}
}.run();
すべての Seam コンポーネントは、Spring JDBC テンプレートを使用/注入しています。したがって、 CalendarAction をインスタンス化しようとすると、次のようになります:
org.jboss.seam.RequiredException: @In attribute requires non-null value: calendarAction.#{springNamedParameterJdbcTemplate}.
src/test/resources で、components.xml と beans.xml を配置する新しい WEB-INF フォルダーを作成しましたが、機能していないようです...