当我们开发项目后,通常需要进行单元测试,确保开发符合预期。但是对于Springboot项目,依赖部分IOC容器对象的注入。比如代码中存在@Autowired、@Service、@Mapper等。
1、确保pom.xml中包含了依赖,其中的version和scope,大家按需调整即可。
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-test</artifactId><version>3.3.1</version><scope>test</scope>
</dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>3.3.1</version><scope>test</scope>
</dependency>
<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13.1</version><scope>test</scope>
</dependency>
2、确保测试类的包名和源码的包名要一致
3、在测试类上添加注解,即可使用注入功能。
@RunWith(SpringRunner.class)
@SpringBootTest
public class MyAppPropertiesTest extends TestCase {@AutowiredMyAppProperties myAppProperties;@Testpublic void testAutoConfigure() {assertTrue(myAppProperties.getTestFlag());}
}
4、测试方法上的@Test时不能省略的,是否继承TestCase可以根据需要来。
5、如果你开发的是一个依赖库,没有SpringBoot入口,入口文件和配置文件也可以放在test中,不影响依赖库打包,比如这样: