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

mock打樁不生效的問題

這篇具有很好參考價值的文章主要介紹了mock打樁不生效的問題。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

遇到mock打樁不生效的問題

------------------我是分割線-----------------------

更新

向大佬請教了一下,本質的原因如下
1. mock的目的是為了排除外部依賴,你只管傳過來一個該方法需要的參數類型,就可以。
2. 我在mock里寫的Path.of,debug的時候跟蹤內存地址發(fā)現(xiàn),在業(yè)務代碼里并不是這個對象,所以打樁無效;而你用any在外面包裹著,只要是這個類型,我就按照打樁的結果去處理。

上代碼

業(yè)務代碼
try {
                String path = StringUtils.joinWith("/", reportFile.getFilePath(), reportFile.getFileName());
                log.info("------------get into minIO to upload file-------------");
                minioService.upload(Path.of(path), file.getInputStream());
                //想要在這里mock一下,走到這里的時候拋異常,被捕獲到以后拋出400錯誤
                log.info("------------upload file success-------------");
            } catch (MinioException | IOException e) {
                e.printStackTrace();
                throw new BadRequestException("attachment file upload fail");
            }

單元測試代碼

        doThrow(MinioException.class).when(minioService).upload(Path.of(anyString), any(InputStream.class));
        Assertions.assertThrows(BadRequestException.class, () -> attachmentService.addAttachment(HOSP_CODE, REPORT_ID, attachmentDto, multipartFile));

此時不管怎么寫,都是這個錯誤

mock打樁不生效的問題

原因:mock打樁的時候參數不正確,這個時候不管你怎么寫,這個樁點都不會出發(fā)

正確的寫法:

//                                                    注意看這里,原來是Path.of(anyString())
        doThrow(MinioException.class).when(minioService).upload(any(Path.class), any(InputStream.class));
        Assertions.assertThrows(BadRequestException.class, () -> attachmentService.addAttachment(HOSP_CODE, REPORT_ID, attachmentDto, multipartFile));

總結

參數不對,努力白費。文章來源地址http://www.zghlxwxcb.cn/news/detail-505293.html

到了這里,關于mock打樁不生效的問題的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

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

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

相關文章

  • 【PowerMockito:編寫單元測試過程中采用when打樁失效的問題】

    【PowerMockito:編寫單元測試過程中采用when打樁失效的問題】

    正如上圖所示,采用when打樁了,但是,實際執(zhí)行的時候還是返回null。 打樁時直接用any() 但是這樣可能出現(xiàn)一個mybatisplus的異常,所以在測試類中需要加入以下代碼片段:

    2024年02月02日
    瀏覽(19)
  • 詳解JUnit單元測試框架(打樁測試待更新)示例代碼有格式問題,待更新

    詳解JUnit單元測試框架(打樁測試待更新)示例代碼有格式問題,待更新

    單元測試負責對最小的軟件設計單元(模塊)進行驗證,根據軟件設計文檔中對模塊功能的描述,對重要的程序分支進行測試并發(fā)現(xiàn)錯誤。 對于單元測試框架來講,它主要完成以下幾件事。 提供用例組織與執(zhí)行: 測試用例只有幾條時,可以不考慮用例組織,但是用例達到成

    2024年02月05日
    瀏覽(31)
  • java中,如何解決@NotBlank不生效的問題 @NotBlank @NotEmpty不生效,以及對象嵌套問題...

    java中,如何解決@NotBlank不生效的問題 @NotBlank @NotEmpty不生效,以及對象嵌套問題...

    這篇文章主要介紹了如何解決@NotBlank不生效的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教。 1.解決@NotBlank不生效 最近做一個新項目,寫新接口時發(fā)現(xiàn)@NotBlank @NotEmpty不生效,@NotNull則生效,令人費解。仔細檢查一下2步驟 用法

    2024年02月11日
    瀏覽(23)
  • 一文看懂單元測試中的打樁

    目錄 一、概念 二、目的 三、方法 編譯時打樁 鏈接時打樁 運行時打樁 函數打樁,就是將一個函數用另一個函數實現(xiàn)(樁代碼)進行替換,以達到在原有函數入口的位置執(zhí)行新的實現(xiàn)。 函數打樁的目的一般是隔離、占位和控制。 隔離是指將測試任務從產品項目中分離出來,使

    2024年02月04日
    瀏覽(34)
  • .gitignore文件不生效問題;

    .gitignore文件不生效問題;

    1.原因是因為在git忽略目錄中,新建的文件在git中會有緩存,如果某些文件已經被納入了版本管理中,就算是在.gitignore中已經聲明了忽略路徑也是不起作用的, 這時候我們就應該先把本地緩存刪除,然后再進行git的提交,這樣就不會出現(xiàn)忽略的文件了。 例子:如.gitignore文件

    2024年02月12日
    瀏覽(20)
  • @Validated注解不生效問題匯總

    @Validated注解不生效問題匯總

    項目框架應用的是validation進行檢驗的,但是最近一直不生效,然后排查了下問題,總結了失效的常見幾個原因: 原因1: 在2.3.0版本之前spring-boot-starter-web是集成了validation檢驗的 但是在2.3.0開始就去掉了該依賴,所以需要自己添加該依賴。 添加依賴為: 原因2: 參數如果是非

    2024年02月16日
    瀏覽(19)
  • 【問題分析解決】git添加.gitignore后不生效問題

    【問題分析解決】git添加.gitignore后不生效問題

    在已經提交過的git管理的項目中,新增加一個.gitignore文件,或者修改.gitignore文件之后,新增的內容不生效。 因為我們誤解了.gitignore文件的用途,該文件只能作用于Untracked Files,也就是那些從來沒有被 Git 記錄過的文件(自添加以后,從未 add 及 commit 過的文件)。 之所以你

    2024年02月14日
    瀏覽(18)
  • @Validated注解不生效問題匯總大全

    @Validated注解不生效問題匯總大全

    項目框架應用的是validation進行檢驗的,但是最近一直不生效,然后排查了下問題,總結了失效的常見幾個原因: 在2.3.0版本之前spring-boot-starter-web是集成了validation檢驗的 但是在2.3.0開始就去掉了該依賴,所以需要自己添加該依賴, 添加依賴為: 下面截圖對照下: 2.7.2版本

    2024年02月11日
    瀏覽(23)
  • Mac屏保不生效問題的解決

    Mac屏保不生效問題的解決

    1.有時我們明明在Mac上設置了屏保,但離開電腦一段時間后發(fā)現(xiàn)并沒有觸發(fā)屏保??梢詸z查一下在設置-電池-電池中,是否將時間設置比屏保的時間長,否則會還沒等到啟動屏保,就自動關閉顯示器,便出現(xiàn)看不到屏保的情況。 可以將此時間調大一些,以便防止因電腦黑屏中

    2024年02月14日
    瀏覽(10)
  • 【問題】3.解決Nginx改變配置文件后不生效問題

    目錄 問題描述 : 解決方案: 一般修改完配置文件,執(zhí)行下面命令就可以生效 或者: 都可以 執(zhí)行了上述操作沒有用 重啟nginx也沒有用 inux解決方案: 1.殺死所有進程: 2.啟動nginx 如果無效,就用 命令查找出所有nginx的進程,再kill 掉主進程即可 其他常用命令:? ?啟動nginx:?

    2024年02月13日
    瀏覽(19)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包