SpringWeb项⽬Junit测试报错问题
测试对象是Web项⽬的Service类,参照⽹上查到的资料,按如下⽅式执⾏时报错,
//使⽤junit4进⾏单元测试
@RunWith(SpringJUnit4ClassRunner.class)
//加载配置⽂件,可以指定多个配置⽂件,locations指定的是⼀个数组
@ContextConfiguration(locations={"classpath:spring/applicationContext-*.xml", "classpath:l"})
//启动事务控制
@Transactional
//配置事务管理器,同时指定⾃动回滚
@TransactionConfiguration(transactionManager="transactionManager", defaultRollback=true)
public class BaseJunit4Test {
//进⾏测试时,将测试类继承该类
//注⼊service对象
//然后在⽅法上使⽤@Test,@RollBack,@Transaction等注解单独修饰
}
springmvc选择题执⾏后报错如下:
Caused by java.lang.IllegalStateException:WebApplicationObjectSupport instance[ResourceHttpRequestHandler [locations=[class path resource [assert/]],resolvers=[org.springframework.source.PathResourceResolver@...]]] does not run in a WebApplicationContext but in : t.
⽹上到了类似的问题,说是在配置⽂件中将assert相关的静态资源⽬录去掉就可以了。感觉不靠谱,因为⼯程在tomcat中启动是没有什么问题的。
刚开始⽤Junit,不太熟悉,后来想,可能是Junit配置没有⽀持Web⼯程。然后⼜搜索怎么对Controller
层进⾏单元测试的,结果发现了测试类上⾯的@WebAppConfiguration注解。猜想正是因为少了这个注解的问题。
于是在测试代码中加上了这个注解,就不报错了。
Junit很强⼤,还是要好好学习⼀下的。
遇到问题,在此Mark⼀下。这是我的错题集。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论