目录
1.SpringBoot项目的测试
1.SpringBoot项目的测试
package soundsystem; import static org.junit.Assert.*; 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) @ContextConfiguration(classes=CDPlayerConfig.class) public class CDPlayerTest { @Autowired private CompactDisc cd; @Test public void cdShouldNotBeNull() { assertNotNull(cd); } }
CDPlayerTest
使用了Spring的SpringJUnit4ClassRunner
,以便在测试开始的时候自动创建Spring的应用上下文。
注解@ContextConfiguration
会告诉它需要在CDPlayerConfig
中加载配置。
因为CDPlayerConfig
类中包含了@ComponentScan
,因此最终的应用上下文中应该包含CompactDisc
bean。
package com.baizhi.cmfz; import com.baizhi.cmfz.dao.BannerDao; import com.baizhi.cmfz.entiy.Banner; import com.baizhi.cmfz.service.BannerService; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import java.util.Date; import java.util.List; import java.util.Map; @RunWith(SpringRunner.class) @SpringBootTest public class BannerTest { @Autowired private BannerDao dao; @Autowired private BannerService service; @Test public void test1(){ List<Banner> list = dao.selectAllBanner(1,10,null); for (Banner banner : list) { System.out.println(banner); } } }
其中类SpringRunner继承了了SpringJUnit4ClassRunner
1.所有的测试相关jar包 作用范围为 test
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> <scope>test</scope> </dependency> <!--测试--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency>
2.
-
添加注解 加载测试环境
-
添加注解 加载工厂
-
在测试类中 使用@Test写测试方法 可以使用自动装配
import com.baizhi.dao.UserDao; import com.baizhi.entity.User; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runner.Runner; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import java.util.List; /** * @RunWith 加载测试环境 SpringJUnit4ClassRunner Spring和JUnit测试集成的jar包 * @ContextConfiguration(value = "classpath:spring.xml") 加载Spring工厂 参数为配置文件的地址 * ctrl+H 查看当前类相关的子类 */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(value = "classpath:spring.xml") public class DemoTest { @Autowired private UserDao userDao; /** * @Test 单元测试注解 每个方法都可以独立运行 */ @Test public void test1(){ List<User> users = userDao.selectAll(); for (User user : users) { System.out.println(user); } } @Test public void test2(){ } }
如果使用了JUnit测试 那么是可以让maven帮我们测试的