12

以下のあまり役に立たないエラー メッセージが表示されて、スプリング テストのセットアップが失敗するのはなぜですか? すべての提案を歓迎します。

JUnit 出力

java.lang.NoClassDefFoundError: org/junit/runners/model/MultipleFailureException
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.withAfterClasses(SpringJUnit4ClassRunner.java:188)
at org.junit.runners.ParentRunner.classBlock(ParentRunner.java:145)
at org.junit.runners.ParentRunner.run(ParentRunner.java:235)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run (SpringJUnit4ClassRunner.java:163)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Caused by: java.lang.ClassNotFoundException: org.junit.runners.model.MultipleFailureException
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 10 more

コンソール出力

カスタム リスナー クラスを指定するか、デフォルトのリスナー クラス (および必要な依存関係) を使用できるようにします。問題のあるクラス: [org/springframework/transaction/interceptor/TransactionAttribute] INFO: org.springframework.test.context.support.DefaultTestContextBootstrapper - TestExecutionListener [org.springframework.test.context.transaction.TransactionalTestExecutionListener] をインスタンス化できませんでした。カスタム リスナー クラスを指定するか、デフォルトのリスナー クラス (および必要な依存関係) を使用できるようにします。問題のクラス: [org/springframework/transaction/interceptor/TransactionAttributeSource] INFO: org.springframework.test.context.support.DefaultTestContextBootstrapper - TestExecutionListeners の使用: [org.springframework.test.context.web.ServletTestExecutionListener@76959acc, org.springframework.テスト.コンテキスト.サポート.

ここにターゲットスニペットがあります

@Service 

public class PipApps {

@Resource( name = "apps" )
private Properties apps;

@Autowired
private SitePreferenceHandler sitePreferenceHandler;

@Autowired
private PipsTable pipsTable;

private SitePreference sitePreference;

private Device device;  

public PipApps( HttpServletRequest request, HttpServletResponse response ){
    sitePreference = sitePreferenceHandler.handleSitePreference( request, response );
    device = DeviceUtils.getRequiredCurrentDevice( request );
}

public Properties getApps(){
    return apps;
}

public Device getDevice(){
    return device;
}

public SitePreference getSitePreference(){
    return sitePreference;
}

public DeviceRouteTable getPipsTable(){
    return pipsTable;
}
}

そしてテストスニペット

@RunWith( SpringJUnit4ClassRunner.class )
@ContextConfiguration( locations={"src/test/resources/PipAppsTest-context.xml"} )

public class PipAppsTest {

@Mock
SitePreferenceHandler sitePreferenceHandler;

@Autowired
PipApps pipApps;

...
}
4

1 に答える 1