kobe81p 2008-06-28 13:12
浏览 257
已采纳

spring 做持久层测试的问题

代码是这样的
[code="java"]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 stub junit.textui.TestRunner.run(testUserDAO.class); }

}[/code]
运行后出现了
[code="java"]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)

[/code]

求各位解决

[b]问题补充:[/b]
自己解决了 是spring-mok。jar 的版本问题
使用eclipse AddLibrary 重新添加一下就好了

呵呵 谢谢llade (高级程序员)的回答 这个是我的另外一个问题
不过解决不是// 而是要用class的路径

  • 写回答

1条回答 默认 最新

  • llade163 2008-06-28 13:40
    关注

    /**

    *

    */

    public String[] getConfigLocations(){

    String[] result = {"file:web//WEB-INF//applicationContext.xml"};

    return result;

    }

    这个是不是有问题啊?“/”不是用"//",另外。Spring的api文档中有这么一句。

    [quote]
    WARNING: When doing integration tests from within Eclipse, only use classpath resource URLs. Else, you may see misleading failures when changing context locations.
    [/quote]

    建议你的applicationContext.xml拷贝一份到java源程序文件夹的根目录下吧(通常是src或者JavaSource目录)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制