1. 前言
一般來說,對控制層的接口通路可以使用PostMan進行,或者通過Swagger進行自動化的測試。
但是對于Service層或者Dao層的測試,就需要借助單元測試了。
2. 測試類寫法
假設我們要對HelloService的hello方法進行測試:
@Service
public class HelloService {
public String hello() {
return "hello world";
}
}
1
2
3
4
5
6
首先我們需要在項目pom.xml中添加測試相關依賴支援:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
然後在src/test/java下建立類HelloTest,代碼如下:
@SpringBootTest
@RunWith(SpringRunner.class)
public class HelloTest {
@Autowired
private HelloService helloService;
@Test
public void testHelloMethod() {
String result = helloService.hello();
Assert.assertThat(result, Matchers.is("hello world"));
7
8
9
10
11
12
這段代碼需要詳細解釋下:
第一,@SpringBootTest和@RunWith(SpringRunner.class)注解保證目前的類中測試方法啟動時,已經使整個Spring容器正常運作,也就是相當于快速啟動了整個SpringBoot項目。
第二,由于已經啟動了容器,是以@Autowired可以注入任意元件。
第三,@Test标注的方法會被當做測試方法執行。
3. 小結
對Service或者Dao層進行測試,可以直接通過測試類發起,相較于通過控制層發起,更加簡便快捷。
另外對于定時器方法,也可以很友善的通過單元測試類進行測試。
————————————————
版權聲明:本文為CSDN部落客「熊貓大哥大」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。
原文連結:
https://blog.csdn.net/woshisangsang/article/details/118768580