在测试spring mvc+junit4遇到的问题

来源:互联网 发布:犀牛软件 视角 加速器 编辑:程序博客网 时间:2024/05/27 14:14

在使用maven构建项目并且进行单元测试时遇到这样的问题

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.bbs.dao.DetailDao.getDetailat org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:973)at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852)at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:66)at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:168)at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:136)at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:134)at com.swy.test.TestUserService.controllerExceptionHandler(TestUserService.java:39)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:74)at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:71)at org.junit.runners.ParentRunner.run(ParentRunner.java:309)at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:174)at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)at java.lang.reflect.Method.invoke(Unknown Source)at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)Caused by: <span style="color:#ff0000;">org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.bbs.dao.DetailDao.getDetail</span>at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:189)at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:43
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="color:#ff6666;">主要的问题是说找不到mapper配置文件,测试了很久才发现把配置文件要在src/main/resources中问题就解决了,原本是配置文件放在dao同样的包下,这样就自动读取,但是在maven的测试中却不能这样</span></span>
<div></div>
0 0
原创粉丝点击