[Seasar-user:4724] S2StrutsUnit について
Naohiro Kuroda
[E-MAIL ADDRESS DELETED]
2006年 9月 29日 (金) 18:39:27 JST
お世話になっております。
現在、無設定 Struts を S2StrutsUnit でテストするための設定に取り組んでいる所ですが、
下記の様なスタックトレースが出て、エラー終了してしまいます。
S2StrutsUnit は RC1 と言うバージョンを使っております。
恐らく、コンポーネントの自動登録のところでこけていると思いますが、
このアプリケーションを J2EE サーバにデプロイした時には正常に動作するものです。
=======
java.lang.ClassCastException:
hoge.category1.action.impl.Category1MasterViewInitActionImpl$$EnhancedByS2AOP$$1c5f743
at org.seasar.struts.unit.S2StrutsTestCase.createAction(S2StrutsTestCase.java:58)
at org.seasar.struts.unit.S2StrutsTestCase.execute(S2StrutsTestCase.java:78)
at
jp.co.ssol.sspj.war.category1.action.Category1MasterViewTest.testTest(Category1MasterViewTest.java:27)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at junit.framework.TestCase.runTest(TestCase.java:154)
at org.seasar.framework.unit.S2FrameworkTestCase.doRunTest(S2FrameworkTestCase.java:212)
at org.seasar.extension.unit.S2TestCase.doRunTest(S2TestCase.java:89)
at org.seasar.framework.unit.S2FrameworkTestCase.runBare(S2FrameworkTestCase.java:139)
at org.seasar.httpunit.S2HttpTestCase.runBare(S2HttpTestCase.java:323)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
=======
テストクラスは下記です。
===============
public class Category1MasterViewTest extends S2StrutsTestCase {
public Category1MasterViewTest(String arg0) {
super(arg0);
}
protected void setUp() {
include("app.dicon");
include("HttpServletRequestMockObject.dicon");
include("HttpServletResponseMockObject.dicon");
}
public void testTest() throws Exception {
String actual = execute(Category1MasterViewInitAction.class);
}
}
===============
app.dicon は下記です。(抜粋)
===============
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR2.1//DTD S2Container//EN"
"http://www.seasar.org/dtd/components21.dtd">
<components>
<include path="hoge/war/dicon/RequestProcessor.dicon"/>
<include path="s2struts.dicon"/>
<include path="hoge/war/dicon/category1.dicon"/>
===============
category1.dicon 抜粋 =>example に付属しているものとほぼ同じ内容です。
===============
<component
class="org.seasar.framework.container.autoregister.FileSystemComponentAutoRegister">
<property name="instanceDef">
@[E-MAIL ADDRESS DELETED]
</property>
<property name="autoNaming">
<component
class="org.seasar.framework.container.autoregister.DefaultAutoNaming" />
</property>
<initMethod name="addClassPattern">
<arg>"hoge.war.category1.action.impl"</arg>
<arg>".*ActionImpl"</arg>
</initMethod>
</component>
<component class="org.seasar.framework.container.autoregister.AspectAutoRegister">
<property name="interceptor">actionInterceptorChain</property>
<initMethod name="addClassPattern">
<arg>"hoge.war.category1.action.impl"</arg>
<arg>".*ActionImpl"</arg>
</initMethod>
</component>
===============
勉強不足で情報が不足しているかもしれませんが、何卒よろしくお願い致します。
以上、よろしくお願いします。
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
黒田尚宏 <Naohiro Kuroda>
[E-MAIL ADDRESS DELETED]
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
Seasar-user メーリングリストの案内