Web アプリケーションのテスト自動化スクリプトを作成しています。JSPファイルのテストケースを書きたいです。JSP の場合、JwebUnit ライブラリを使用しています。次のようにテストファイルを作成しました:
class Junittest {
@Before
public void prepare() {
setTestingEngineKey(TestingEngineRegistry.TESTING_ENGINE_HTMLUNIT);
setBaseUrl("http://localhost:8081/JSPServer/jsp/");
}
@Test
public void test() {
beginAt("home.jsp");
assertTitleEquals("Echoing HTML Request Parameters");
}
}
JUnit テストを実行しようとすると、次のように例外が発生します。
java.lang.NoClassDefFoundError: org/apache/regexp/RESyntaxException
at net.sourceforge.jwebunit.junit.JWebUnit.getTester(JWebUnit.java:62)
at net.sourceforge.jwebunit.junit.JWebUnit.beginAt(JWebUnit.java:167)
at serv.Junittest.test(Junittest.java:30)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:389)
at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:115)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:167)
at org.junit.jupiter.engine.execution.ThrowableCollector.execute(ThrowableCollector.java:40)
home.jsp ファイルを JSPServer -> webcontent -> jsp に配置しました。
サーバーでファイルを実行しようとすると、正しく機能しています。JUnit テストを実行しようとすると、上記の例外が発生します。このための解決策を提案してもらえますか?