今天在读《spring 实战》一书,对着书中的例子自己搞了一个maven工程,测试时报错,还好最后搞定了,记录一下这些错误。
一、pom.xml
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.3.25.RELEASE</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>compile</scope>
</dependency>
<!--下面为什么注释起来,因为它是坑,在eclipse中不能下载,我是手动下载然后添加的-->
<!--最重要的是版本要是3.2.2,之前是3.0.2导致下面的方法不对,后面会说明,我操!!-->
<!-- <dependency>
<groupId>org.springframework</groupId>
<artifactId>org.springframework.test</artifactId>
<version>3.2.2.RELEASE</version>
<scope>compile</scope>
</dependency> -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.3.25.RELEASE</version>
</dependency>
</dependencies>
二、测试文件
package com.dq;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
//这里是又一个坑,上面说的版本如果是3.0.2,那么下面的写法会报错,因为这个版本不支持这种写法,实在坑爹
@ContextConfiguration(classes=Config.class)
public class TestMain {
@Autowired
private Student student;
@Test
public void test()
{
student.play();
}
}
三、感想
当测试可以正常跑通时还是很开心,这是自己系统的学习spring,虽然之前做过一些项目也会用,但自己没有搭过框架,不知道还有这么多坑,程序员的水平很大程度决定于解决问题的能力,经验真的很重要,今天又有新收获,加油!!