问题描述
代码是这样的import org.springframework.test.AbstractTransactionalDataSourceSpringContextTests;import com.tnt.dao.TntUserDAO;/** * @author Administrator * */public class testUserDAO extends AbstractTransactionalDataSourceSpringContextTests {private TntUserDAO userDao;/** *//** * @return 返回 userDao。 */ public TntUserDAO getUserDAO() { return userDao; } /** *//** * @param exQqueryDAO 要设置的 exQqueryDAO。 */ public void setUserDAO(TntUserDAO userDao) { this.userDao = userDao; }/** * */public String[] getConfigLocations(){String[] result = {"file:web//WEB-INF//applicationContext.xml"};return result;}public void testSave(){System.out.println("userDao = "+ userDao);}/** * *//** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubjunit.textui.TestRunner.run(testUserDAO.class);}}运行后出现了java.lang.NoSuchMethodError: org.springframework.util.ObjectUtils.nullSafeToString(Ljava/lang/Object;)Ljava/lang/String;at org.springframework.test.AbstractSpringContextTests.contextKeyString(AbstractSpringContextTests.java:134)at org.springframework.test.AbstractSpringContextTests.getContext(AbstractSpringContextTests.java:101)at org.springframework.test.AbstractSingleSpringContextTests.setUp(AbstractSingleSpringContextTests.java:83)at junit.framework.TestCase.runBare(TestCase.java:125)at org.springframework.test.ConditionalTestCase.runBare(ConditionalTestCase.java:69)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)求各位解决问题补充:自己解决了 是spring-mok。jar 的版本问题使用eclipse AddLibrary 重新添加一下就好了 呵呵 谢谢llade (高级程序员)的回答 这个是我的另外一个问题 不过解决不是// 而是要用class的路径
解决方案
/** * */ public String[] getConfigLocations(){ String[] result = {"file:web//WEB-INF//applicationContext.xml"}; return result; } 这个是不是有问题啊?“/”不是用"//",另外。Spring的api文档中有这么一句。引用WARNING: When doing integration tests from within Eclipse, only use classpath resource URLs. Else, you may see misleading failures when changing context locations.建议你的applicationContext.xml拷贝一份到java源程序文件夹的根目录下吧(通常是src或者JavaSource目录)