目錄
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,因此最終的應用上下文中應該包含CompactDiscbean。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency>
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幫我們測試的

