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

【Testing】基于Mockito的FeignClient單元測試

這篇具有很好參考價值的文章主要介紹了【Testing】基于Mockito的FeignClient單元測試。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、需求

? ? ? ?在微服務框架模式下,往往需要在外部服務沒有準備好的情況下進行測試。本文主要是討論在SpringCloud體系下,以FeignClient進行通信時,對其進行mock的方式。

二、調用模型

mockito feign,MicroService,Testing,單元測試,java,junit

微服務B通過FeignClient依賴其他服務調用。

三、構建方式

3.1)構建基礎測試類

@RunWith(SpringRunner.class)
@ActiveProfiles(profiles = {"dev"})
@SpringBootTest(classes = BaseTest.class)
@ComponentScan("com.csdn.service")
@WebAppConfiguration
@AutoConfigureMockMvc
public class BaseTest {
}

3.2)Mock FeignClient

public class ServiceTest extends BaseTest {

    @Resource
    private ServiceB serviceB;

    private ServiceFeign serviceFeign;

    private String email;

    @Before
    public void setup() throws NoSuchFieldException, IllegalAccessException {
        this.email = "mock@hupspot.com";
        serviceFeign = Mockito.mock(ServiceFeign.class);

        Field agentFeignClient = ServiceB.class.getDeclaredField("serviceFeign");
        agentFeignClient.setAccessible(true);
        agentFeignClient.set(serviceB, this.serviceFeign);

        
        CommonResult<Objejct> res = CommonResult.success(new Object());
        Mockito.when(serviceFeign.query(this.email)).thenReturn(res);

    }

    @Test
    public void remoteFuncTest() {
        String res = serviceFeign.remoteFunc(this.email);
        Assert.assertEquals(String.join("_", this.email, this.email), res);
        System.out.println("res=" + res);
    }
}

主要就是初始化feignClient的方式(僅僅mock是沒法注入到ServiceB中并生效的):

Field agentFeignClient = ServiceB.class.getDeclaredField("serviceFeign");
agentFeignClient.setAccessible(true);
agentFeignClient.set(serviceB, this.serviceFeign);


?文章來源地址http://www.zghlxwxcb.cn/news/detail-520164.html

到了這里,關于【Testing】基于Mockito的FeignClient單元測試的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領支付寶紅包贊助服務器費用

相關文章

  • Mockito單元測試異常情況

    一、空指針異常 例子: 使用Collectors.groupingBy()進行分組時, 分組值存在null值 。 解決辦法:分組值為null時,默認值為空字符,或者讓數(shù)據(jù)不為空。 二、多個參數(shù)匹配異常 例如: 如果a和b一個是正常傳參(list、map、string…)另一個是任意萬能傳參(any()、anyList()、anyString(

    2024年02月07日
    瀏覽(37)
  • 單元測試Mockito

    Mockito 1.為什么要mock? mock等于是創(chuàng)建一個虛擬對象(不會去跑真實的),在測試環(huán)境中替換掉真是對象,從而 驗證該對象某些方法的調用情況,調用多少次,參數(shù)等 給對象做一個定義,指定返回結果或者特定的動作 2.什么是mock,stub和spy mock: Mock 對象是一種完全由測試控制

    2024年03月18日
    瀏覽(32)
  • Mockito單元測試詳解

    依賴: SpringBoot默認的Mock框架是Mockito,和junit一樣,只需要依賴spring-boot-starter-test就可以了 (1)@RunWith 指定運行環(huán)境,例: @RunWith(SpringRunner.class) Junit運行Spring的測試環(huán)境 @RunWith(MockitoJUnitRunner.class) Junit運行Mockito的運行環(huán)境,不會加載springboot上下文 @SpringBootTest 加載springbo

    2023年04月09日
    瀏覽(21)
  • Spring單元測試+Mockito

    Spring單元測試+Mockito

    一,背景 單元測試基本上是開發(fā)逃不過的一個工作內容,雖然往往因為過于無聊,或者過于麻煩,而停止于項目的迭代之中,不了了之了。其實不是開發(fā)們懶,而是上頭要求的測試覆蓋率高,但是又沒有好用的工具,導致工作積壓,最后只能舍棄掉這部分。 最近發(fā)現(xiàn)Spring+

    2024年04月17日
    瀏覽(50)
  • 單元測試與Mockito

    單元測試與Mockito

    系列文章目錄和關于我 最近在新公司第一次上手寫代碼,寫了一個不是很難的業(yè)務邏輯代碼,但是在我寫單元測試的時候,發(fā)現(xiàn)自己對單元測試的理解的就是一坨,整個過程寫得慢,還寫得臭。造成這種局面我認為是因為: 對Mockito api是不是很熟悉 沒有自己單元測試方法論

    2023年04月22日
    瀏覽(25)
  • 【單元測試】Mockito使用詳解

    【單元測試】Mockito使用詳解

    一個單元測試應該有如下特點: 應該是自動化的 應該可以快速運行 每個單元測試不應該依賴其它測試的結果和執(zhí)行順序,單元測試框架可以按任意的順序執(zhí)行每個測試 每個單元測試不應該依賴數(shù)據(jù)庫,外部文件,或者任何長時間運行的任務。單元測試應該是獨立的,不應該

    2024年04月15日
    瀏覽(41)
  • 單元測試-mockito

    單元測試-mockito

    在單元測試中,對于一個類中的方法,常常需要依賴其他類的方法、操作數(shù)據(jù)dto等對象實例。 方法mock:依賴的方法又可能依賴其他方法,呈現(xiàn)級聯(lián)的樹狀結構。 問題:在一些情況下,這個依賴樹會很深,其中依賴的一個子方法一旦修改出現(xiàn)問題,如果引起大量的單測不可用

    2024年04月11日
    瀏覽(19)
  • Java單元測試之Mockito

    Mockito是一種Java Mock框架,主要就是用來做Mock測試的,它可以模擬任何Spring管理的Bean、模擬方法的返回值、模擬拋出異常等等,同時也會記錄調用這些模擬方法的參數(shù)、調用順序,從而可以校驗出這個Mock對象是否有被正確的順序調用,以及按照期望的參數(shù)被調用。 Mockito的特

    2024年02月13日
    瀏覽(34)
  • 【SpringBoot】mockito+junit 單元測試

    【SpringBoot】mockito+junit 單元測試

    CommonServiceImpl 在方法 getSourceCodeMap() 調用了 ServiceA 的方法 list(QueryBO queryBo) 。 org.mockito.exceptions.base.MockitoException: No tests found in ClientSyncServiceImplTest Is the method annotated with @Test? Is the method public? 解決方案: Test引入 org.junit.Test 不要引入 org.junit.jupiter.api.Test 例如獲取當前用戶 moc

    2024年02月09日
    瀏覽(30)
  • 單元測試之- mock工具mockito

    單元測試之- mock工具mockito

    ?常用的mock工具mockito 在編寫單元測試時,需要mock依賴的對象,減少依賴對象對測試的影響,Mocktio是常用的mock工具之一,那么mockito提供了哪些功能呢? Mock對象的創(chuàng)建和配置:Mockito可以通過簡單的語法創(chuàng)建mock對象,并允許你配置mock對象的行為。 Mock對象的驗證:Mockito提供

    2024年02月13日
    瀏覽(23)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領取紅包

二維碼2

領紅包