Springboot Cucumber測(cè)試配置介紹詳解
目前Spring-boot成為了java開(kāi)發(fā)的主流框架,Cucumber作為一款支持dsl的自動(dòng)化測(cè)試工具,很適合用戶編寫(xiě)DSL優(yōu)化過(guò)的單元測(cè)試等測(cè)試用例。本文將講解如何在SpringBoot中配置Cucumber進(jìn)行自動(dòng)化測(cè)試。
目錄結(jié)構(gòu)如下:
gradle相關(guān)配置如下所示:
testCompile('org.springframework.boot:spring-boot-starter-test', "info.cukes:cucumber-jvm:1.1.8", "info.cukes:cucumber-core:1.1.8", "info.cukes:cucumber-java:1.1.8", "info.cukes:cucumber-junit:1.1.8", "info.cukes:cucumber-spring:1.1.8", 'commons-io:commons-io:2.4')
src中為常見(jiàn)的spring代碼結(jié)構(gòu),我們不再具體講解。test文件夾中上邊為自帶的SpringBootTest測(cè)試框架,而demo中的內(nèi)容是Cucumber框架的具體配置。
1.首先我們需要配置基本的Cucumber框架CucumberTest.java:
@RunWith(Cucumber.class) @CucumberOptions(features = "src/test/resources") public class CucumberTest { }
2.接下來(lái),我們要配置有關(guān)Spring-boot的配置,因?yàn)槲覀兊臏y(cè)試框架也需要在springboot的運(yùn)行下完成AbstractDefs.java:
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = TestSpringMongoApplication.class) @WebAppConfiguration @SpringBootTest public class AbstractDefs { }
3.然后,我們便開(kāi)始寫(xiě)屬于我們的DSL解析語(yǔ)法,可具體的測(cè)試流程TestSteps.java:
import com.tiandi.service.FaultInjectionInfoService; import cucumber.api.java.en.And; import cucumber.api.java.en.Given; import cucumber.api.java.en.Then; import cucumber.api.java.en.When; import org.springframework.beans.factory.annotation.Autowired; public class TestSteps extends AbstractDefs { @Autowired private FaultInjectionInfoService faultInjectionInfoService; private String faultNodeId; @Given("^Generate testCase for \"([^\"]*)\"$") public void generateTestCase(String id) { faultNodeId = id; } @Then("^finish$") public void finish() { faultInjectionInfoService.generateTestCase(faultNodeId); } } //在這里,我們通過(guò)Autowired注入了spring中的service,并編寫(xiě)用戶自定義的DSL來(lái)調(diào)用service中的方法執(zhí)行,獲得測(cè)試結(jié)果。
4.最后,我們?cè)趓esources中填寫(xiě)具體的黃瓜測(cè)試用例,并執(zhí)行。
Feature: test cucumber Scenario: system out print something Given Generate testCase for "COM-COM-F" Then finish
5.測(cè)試結(jié)果如圖所示
綠色代表測(cè)試通過(guò)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Springboot單元測(cè)試無(wú)法讀取配置文件的解決方案
- RabbitMQ開(kāi)啟SSL與SpringBoot連接測(cè)試的配置方法
- springboot配置開(kāi)發(fā)和測(cè)試環(huán)境并添加啟動(dòng)路徑方式
- Springboot 使用具體化類(lèi)和配置來(lái)縮短單元測(cè)試時(shí)間
- SpringBoot+redis配置及測(cè)試的方法
- SpringBoot生產(chǎn)環(huán)境和測(cè)試環(huán)境配置分離的教程詳解
- SpringBoot測(cè)試配置屬性與web啟動(dòng)環(huán)境超詳細(xì)圖解
相關(guān)文章
Java實(shí)現(xiàn)圖片翻轉(zhuǎn)以及任意角度旋轉(zhuǎn)
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)圖片翻轉(zhuǎn)以及任意角度旋轉(zhuǎn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01spring項(xiàng)目如何配置多數(shù)據(jù)源(已上生產(chǎn),親測(cè)有效)
這篇文章主要介紹了spring項(xiàng)目如何配置多數(shù)據(jù)源(已上生產(chǎn),親測(cè)有效),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12基于SpringBoot多線程@Async的使用體驗(yàn)
這篇文章主要介紹了SpringBoot多線程@Async的使用體驗(yàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12Java實(shí)體類(lèi)不要使用基本類(lèi)型的知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家整理的是關(guān)于Java包裝類(lèi)之實(shí)體類(lèi)不要使用基本類(lèi)型的知識(shí)點(diǎn)內(nèi)容,需要的朋友們可以學(xué)習(xí)下。2020-02-02淺談Spring Boot 2.0遷移指南主要注意點(diǎn)
Spring官方的Spring Boot 2變動(dòng)指南,主要是幫助您將應(yīng)用程序遷移到Spring Boot 2.0,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-10-10SpringCloud應(yīng)用idea實(shí)現(xiàn)可相互調(diào)用的多模塊程序詳解
IDEA 全稱(chēng) IntelliJ IDEA,是java編程語(yǔ)言的集成開(kāi)發(fā)環(huán)境。IntelliJ在業(yè)界被公認(rèn)為最好的Java開(kāi)發(fā)工具,尤其在智能代碼助手、代碼自動(dòng)提示、重構(gòu)、JavaEE支持、各類(lèi)版本工具(git、svn等)、JUnit、CVS整合、代碼分析、 創(chuàng)新的GUI設(shè)計(jì)等方面的功能可以說(shuō)是超常的2022-07-07如何使用IDEA2022.1?創(chuàng)建Spring?Boot項(xiàng)目
這篇文章主要介紹了如何使用IDEA2022.1?創(chuàng)建Spring?Boot項(xiàng)目,大家在使用idea開(kāi)發(fā)工具時(shí)發(fā)現(xiàn)給以往的版本略微的不同,細(xì)心的小編在此記錄下,需要的朋友可以參考下2022-08-08詳解Spring?中?Bean?對(duì)象的存儲(chǔ)和取出
由于?Spring?擁有對(duì)象的管理權(quán),所以我們也需要擁有較為高效的對(duì)象存儲(chǔ)和取出的手段,下面我們來(lái)分別總結(jié)一下,對(duì)Spring?中?Bean?對(duì)象的存儲(chǔ)和取出知識(shí)感興趣的朋友跟隨小編一起看看吧2022-11-11