spring 继承 mybatis时, 可以正常运行 编写的junit报错,原因是mybatis没有加入到mapperFactory中 求解 80
MappedStatementscollectiondoesnotcontainvalueforUserMapper.insert@RunWith(SpringJUnit...
Mapped Statements collection does not contain value for UserMapper.insert
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={ "classpath:conf/spring/app-context.xml","classpath:conf/spring/servlet-context.xml"})
@ActiveProfiles("test")
public class UserDaoImplTest extends TestCase {
@Autowired
protected UserDao userDao;
@Test
public void testInsert() throws Exception {
User user = new User();
user.setId("id");
user.setUsername("username");
user.setPassword("password");
user.setRole(RoleEnum.Student.getKey());
System.out.println("test");
boolean result = userDao.insert(user);
assertTrue(result);
}
} 展开
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={ "classpath:conf/spring/app-context.xml","classpath:conf/spring/servlet-context.xml"})
@ActiveProfiles("test")
public class UserDaoImplTest extends TestCase {
@Autowired
protected UserDao userDao;
@Test
public void testInsert() throws Exception {
User user = new User();
user.setId("id");
user.setUsername("username");
user.setPassword("password");
user.setRole(RoleEnum.Student.getKey());
System.out.println("test");
boolean result = userDao.insert(user);
assertTrue(result);
}
} 展开
3个回答
2014-06-19
展开全部
mybatis的配置文件中缺少对UserMapper.insert的配置。
更多追问追答
追问
没有mybatis-config.xml
利用spring扫描的
而且开发环境和war包都没问题
只有junit有问题
追答
单独的spring和junit是两个体系结构,你在测试类加@RunWith(SpringJUnit4ClassRunner.class)试试。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
web启动的时候,spring的配置都已经加载好了。
但是junit启动的话,新起的线程里当然没有数据了,除非你重新加载一遍spring.xml。
但是junit启动的话,新起的线程里当然没有数据了,除非你重新加载一遍spring.xml。
追问
@ContextConfiguration(locations={ "classpath:conf/spring/app-context.xml","classpath:conf/spring/servlet-context.xml"})
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
哥们,我也遇到了这样的问题,你是怎么解决的呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询