国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Java實(shí)用干貨】使用@SpringBootTest注解進(jìn)行單元測(cè)試

這篇具有很好參考價(jià)值的文章主要介紹了【Java實(shí)用干貨】使用@SpringBootTest注解進(jìn)行單元測(cè)試。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

【【Java實(shí)用干貨】使用@SpringBootTest注解進(jìn)行單元測(cè)試
【Java實(shí)用干貨】使用@SpringBootTest注解進(jìn)行單元測(cè)試
大家好,我是洲洲,歡迎關(guān)注,一個(gè)愛聽周杰倫的程序員。關(guān)注公眾號(hào)【程序員洲洲】即可獲得海量學(xué)習(xí)資料、面試筆記、大廠獨(dú)家學(xué)習(xí)體系路線等…還可以加入技術(shù)交流群~

前言

@SpringBootTest注解是SpringBoot自1.4.0版本開始引入的一個(gè)用于測(cè)試的注解。

本章文章主要給大家講解SpringBootTest的相關(guān)使用方法。

SpringBootTest默認(rèn)集成了以下的功能:


JUnit 5: Java單元測(cè)試框架
Spring Test & Spring Boot Test: Spring Boot的測(cè)試工具和支持
AssertJ: 流式斷言
Hamcrest: Hamcrest斷言
Mockito: Java Mock框架
JSONassert: JSON斷言
JsonPath: XPath for JSON

整體上,Spring Boot Test支持的測(cè)試種類,大致可以分為如下三類:


單元測(cè)試:一般面向方法,編寫一般業(yè)務(wù)代碼時(shí),測(cè)試成本較大。涉及到的注解有@Test。
切片測(cè)試:一般面向難于測(cè)試的邊界功能,介于單元測(cè)試和功能測(cè)試之間。涉及到的注解有 @WebMvcTest等。主要就是對(duì)于Controller的測(cè)試,分離了Service層,這里就涉及到Moc控制層所依賴的組件了
功能測(cè)試:一般面向某個(gè)完整的業(yè)務(wù)功能,同時(shí)也可以使用切面測(cè)試中的mock能力,推薦使用。涉及到的注解有@SpringBootTest等。
————————————————

1、添加Maven依賴


<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.6.RELEASE</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

2、編寫啟動(dòng)入口


@SpringBootApplication
public class StartUpApplication {
    public static void main(String[] args) {
        SpringApplication.run(StartUpApplication.class, args);
    }
}

3、編寫Controller類


@RestController
public class HelloController {

    @RequestMapping("/")
    public String index() {
        return "Hello Spring Boot,Index!";
    }

    @RequestMapping(value = "/test", method = RequestMethod.GET)
    public String test() {
        return "Spring Boot Test Demo!";
    }
}

4、編寫相關(guān)測(cè)試類

classes屬性指定啟動(dòng)類,SpringBootTest.WebEnvironment.RANDOM_PORT經(jīng)常和測(cè)試類中@LocalServerPort一起在注入屬性時(shí)使用。會(huì)隨機(jī)生成一個(gè)端口號(hào)。


@RunWith(SpringRunner.class)
@SpringBootTest(classes = StartUpApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class HelloControllerTest {

    /**
     * @LocalServerPort 提供了 @Value("${local.server.port}") 的代替
     */
    @LocalServerPort
    private int port;

    private URL base;

    @Autowired
    private TestRestTemplate restTemplate;

    @Before
    public void setUp() throws Exception {
        String url = String.format("http://localhost:%d/", port);
        System.out.println(String.format("port is : [%d]", port));
        this.base = new URL(url);
    }

    /**
     * 向"/test"地址發(fā)送請(qǐng)求,并打印返回結(jié)果
     * @throws Exception
     */
    @Test
    public void test1() throws Exception {

        ResponseEntity<String> response = this.restTemplate.getForEntity(
                this.base.toString() + "/test", String.class, "");
        System.out.println(String.format("測(cè)試結(jié)果為:%s", response.getBody()));
    }
    

過程中的注意事項(xiàng)

總結(jié)

Hello,各位看官老爺們好,洲洲已經(jīng)建立了技術(shù)交流群,如果你很感興趣,可以私信我加入我的社群。

??社群中不定時(shí)會(huì)有很多活動(dòng),例如每周都會(huì)包郵免費(fèi)送一些技術(shù)書籍及精美禮品、學(xué)習(xí)資料分享、大廠面經(jīng)分享、技術(shù)討論、行業(yè)大佬創(chuàng)業(yè)雜談等等。

??社群方向很多,相關(guān)領(lǐng)域有Web全棧(前后端)、人工智能、機(jī)器學(xué)習(xí)、自媒體變現(xiàn)、前沿科技文章分享、論文精讀等等。

??不管你是多新手的小白,都?xì)g迎你加入社群中討論、聊天、分享,加速助力你成為下一個(gè)技術(shù)大佬!也隨時(shí)歡迎您跟我溝通,一起交流,一起成長(zhǎng)。變現(xiàn)、進(jìn)步、技術(shù)、資料、項(xiàng)目、你想要的這里都會(huì)有

??網(wǎng)絡(luò)的風(fēng)口只會(huì)越來越大,風(fēng)浪越大,魚越貴!歡迎您加入社群~一個(gè)人可以或許可以走的很快,但一群人將走的更遠(yuǎn)!

??關(guān)注我的公眾號(hào)(與CSDN同ID:程序員洲洲)可以獲得一份Java 10萬(wàn)字面試寶典及相關(guān)資料!~

??想都是問題,做都是答案!行動(dòng)起來吧!歡迎評(píng)論區(qū)or后臺(tái)與我溝通交流,也歡迎您點(diǎn)擊下方的鏈接直接加入到我的交流社群!~ 跳轉(zhuǎn)鏈接社區(qū)~

【Java實(shí)用干貨】使用@SpringBootTest注解進(jìn)行單元測(cè)試文章來源地址http://www.zghlxwxcb.cn/news/detail-445632.html

到了這里,關(guān)于【Java實(shí)用干貨】使用@SpringBootTest注解進(jìn)行單元測(cè)試的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • JAVA學(xué)習(xí)-注解.基于注解的單元測(cè)試

    ? ? ? ? 基于注解的單元測(cè)試是一種使用注解來簡(jiǎn)化和增強(qiáng)測(cè)試代碼編寫和執(zhí)行的方法。在Java中,有多個(gè)基于注解的單元測(cè)試框架可供選擇,包括JUnit、TestNG等。下面將對(duì)幾個(gè)常見的基于注解的單元測(cè)試框架進(jìn)行概述,并介紹它們的特點(diǎn)、使用方法以及與其他框架的比較。

    2024年04月28日
    瀏覽(20)
  • 記錄java使用EasyExcel進(jìn)行單元格內(nèi)換行操作

    1、首先是在需要換行的地方將 n ? 或者 rn 替換為 String.valueOf((char)10) ?,有時(shí)候不替換好像也能用 2、第一步完成后可能導(dǎo)出的內(nèi)容還是無(wú)法換行,需要雙擊單元格才會(huì)換行, 在導(dǎo)出的java實(shí)體類上加入注解 @ContentStyle( horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignmen

    2023年04月08日
    瀏覽(20)
  • Docker入門基礎(chǔ)使用教程匯總(全是干貨,簡(jiǎn)單實(shí)用)

    Docker入門基礎(chǔ)使用教程匯總(全是干貨,簡(jiǎn)單實(shí)用)

    Docker容器化技術(shù)幾年越來越火,想要快速入門docker技術(shù),在短時(shí)間內(nèi)能夠掌握并使用,這里潘老師給大家整理了Docker入門基礎(chǔ)使用教程,可以說全是干貨,簡(jiǎn)單實(shí)用,沒有多余的深層次的技術(shù)干擾你,純粹就是學(xué)以致用,我們一起來看一下! 1.1.什么是Docker 微服務(wù)雖然具備各

    2024年02月08日
    瀏覽(19)
  • Java中的JUnit是什么?如何使用JUnit進(jìn)行單元測(cè)試

    JUnit是Java中最流行的單元測(cè)試框架之一。它可以幫助開發(fā)人員在代碼編寫過程中檢測(cè)出錯(cuò)誤和異常,從而提高代碼的質(zhì)量和可靠性。 JUnit是一個(gè)由Kent Beck和Erich Gamma創(chuàng)建的開源Java單元測(cè)試框架,它已經(jīng)成為Java開發(fā)中最常用的測(cè)試框架之一。這個(gè)框架的主要目的是為了簡(jiǎn)化單元

    2024年02月12日
    瀏覽(34)
  • 在Java微服務(wù)項(xiàng)目中,如何使用Mock來進(jìn)行單元測(cè)試?

    在Java微服務(wù)項(xiàng)目中,如何使用Mock來進(jìn)行單元測(cè)試?

    摘要: 在系統(tǒng)開發(fā)的過程中,單元測(cè)試是其中的一個(gè)重要環(huán)節(jié)。在Java微服務(wù)項(xiàng)目中,Spring框架本身就為我們提供了一套單元測(cè)試的框架SpringBootTest。如果我們?cè)趯W(xué)校完成課堂作業(yè)或出于興趣愛好自學(xué),是可以使用Spring自帶的單元測(cè)試框架進(jìn)行單測(cè)的。 工作中,這種通過Spri

    2024年02月16日
    瀏覽(21)
  • 【JAVA】單元測(cè)試、反射、注解、動(dòng)態(tài)代理

    @Test 測(cè)試方法 @Before 用來修飾實(shí)例方法,該方法會(huì)在每一個(gè)測(cè)試方法執(zhí)行之前執(zhí)行一次。 @After 用來修飾實(shí)例方法,該方法會(huì)在每一個(gè)測(cè)試方法執(zhí)行之后執(zhí)行一次。 @Before Class 用來靜態(tài)修飾方法,該方法會(huì)在所有測(cè)試方法之前只執(zhí)行一次。 @After Class 用來靜態(tài)修飾方法,該方法

    2024年02月11日
    瀏覽(20)
  • 在 Java 中使用JUnit5進(jìn)行單元測(cè)試和自動(dòng)化測(cè)試

    單元測(cè)試和自動(dòng)化測(cè)試是現(xiàn)代軟件開發(fā)過程中必不可少的環(huán)節(jié),可以提高代碼質(zhì)量和開發(fā)效率。JUnit5是Java中流行的單元測(cè)試框架,本文將介紹如何在Java中使用JUnit5進(jìn)行單元測(cè)試和自動(dòng)化測(cè)試。 2.1 單元測(cè)試的基本概念和原理 單元測(cè)試是一種測(cè)試方法,用于對(duì)軟件系統(tǒng)中的最

    2024年02月03日
    瀏覽(23)
  • Java高級(jí)技術(shù):?jiǎn)卧獪y(cè)試、反射、注解

    Java高級(jí)技術(shù):?jiǎn)卧獪y(cè)試、反射、注解

    目錄 單元測(cè)試 單元測(cè)試概述 單元測(cè)試快速入門 單元測(cè)試常用注解 反射 反射概述 反射獲取類對(duì)象 反射獲取構(gòu)造器對(duì)象 反射獲取成員變量對(duì)象 反射獲取方法對(duì)象 反射的作用-繞過編譯階段為集合添加數(shù)據(jù) 反射的作用-通用框架的底層原理 注解 注解概述 自定義注解 元注解

    2024年01月16日
    瀏覽(21)
  • 如何在 Java 中使用JUnit5進(jìn)行單元測(cè)試和自動(dòng)化測(cè)試

    單元測(cè)試和自動(dòng)化測(cè)試是現(xiàn)代軟件開發(fā)過程中必不可少的環(huán)節(jié),可以提高代碼質(zhì)量和開發(fā)效率。JUnit5是Java中流行的單元測(cè)試框架,本文將介紹如何在Java中使用JUnit5進(jìn)行單元測(cè)試和自動(dòng)化測(cè)試。 單元測(cè)試是一種測(cè)試方法,用于對(duì)軟件系統(tǒng)中的最小可測(cè)試單元進(jìn)行測(cè)試。這些單

    2024年02月05日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包