1

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 テストを実行しようとすると、上記の例外が発生します。このための解決策を提案してもらえますか?

4

1 に答える 1