日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Eclipse的Mockito模板

發布時間:2023/12/3 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Eclipse的Mockito模板 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

有時候,我想念樹林里的樹木-那是一段令人不安的長時間。 我最近才再次意識到這一點,在無數次中鍵入了一個更詳細的模擬表達式。 有問題的語句是doAnswer(Answer)構造,使用涉及到的靜態導入和泛型的東西進行編碼總是很麻煩。

盡管我定期使用Eclipse Java模板生成例如循環,切換和其他構造,但我花了幾年( 僅… )的想法自己為我每天使用的模擬表達式編寫了其中的一些模板 。 毫不奇怪,事實證明,這使我的工作有所簡化。 因此,我認為與感興趣的人分享github要點可能是一個好主意。

我不會詳細介紹所有模板,但將在ArgumentCapture構造的基礎上簡要說明該概念。 對于后者,我幾乎總是遇到一個問題,即使用駝峰式大小寫結合自動完成功能會自動添加一個類型參數,之后我必須手動將其刪除: 1

使用Java模板可以避免此問題,因為您只需鍵入模板名稱的首字母,然后從內容助手的下拉列表中選擇即可。 生成完整的代碼構造,您唯一要做的就是填寫變量2

基本上,您可以使用制表符來完成生成的構造。 如下圖所示,第一個模板變量已標記并準備好進行編輯。 具有相同名稱的變量將屬于同一變量,并且將被同步更改(請參見圖片中的泛型type // classname-variable)。 完成當前變量的操作后,請使用“ tab”鍵標記下一個變量。 完成整個構造后,按“ enter”跳到圖像中描述為光標位置的綠色垂直線。

請注意,如果需要,模板還可以處理導入和靜態導入。 最終,您將得到類似于以下測試方法摘錄的第一行的內容:

盡管ArgumentCapture構造不是很大,但我非常感謝現在有一個模板。 我可以想到的最快的打字方式(使用內容輔助,使用CRTL + 1分配給局部變量等)需要七個步驟,而此處描述的方法在四個步驟3 4中都可以做到。

最后一個示例圖像顯示了doAnswer(Answer)提到的更詳細的doAnswer(Answer)構造的生成表達式將是什么樣子:

為了完整起見,我在本文的結尾部分列出了要點5中可用的模板:

模板名稱 描述
回答 Mockito doAnswer(answer).when(mock).call()構造
doAnswerOnArgument Mockito doAnswer(answer).when(mock).call()構造可操縱調用參數
doReturn Mockito doReturn(value).when(mock).call()構造
Mockito doThrow(throwable).when(mock).call()構造
上課 Mockito ArgumentCaptor.forClass(Type.class)構造
什么時候回答 Mockito when(mock.call())。thenAnswer(answer)構造
whenThenAnswerOnArgument Mockito when(mock.call())。thenAnswer(answer)構造用于操縱調用參數
當然后返回 Mockito when(mock.call())。thenReturn(value)構造
什么時候扔 Mockito when(mock.call())。thenThrow(throwable)構造
  • Github Gist下載: https : //gist.github.com/fappel/8863588

如果您對其他的Mockito模板有任何想法,改進,批評,替代之類的東西,我當然會很高興在這里提出。 所以不要害羞,試試看!

  • 嗯,可以使用收藏夾和靜態導入來解決該問題,例如我親愛的Holger Staudacher在他的文章中描述的有效使用 Mockito的 方法 。 但是由于無法解釋的原因,我沒有使用ArgumentCapture將其輸入我的手指中
  • 'forClass'可能不是最有用的名稱,但是每個人都可以自由選擇一個更好的名稱!
  • 注意,“步進”不是指擊鍵。 根據您的環境,實際擊鍵次數可能會有所不同。 此外,我將不提供“步驟”一詞的精確定義-我將由您自己進行比較
  • 除了實際的步數,在我看來,模板方法消耗的腦力更少,但這可能完全是個人的錯覺
  • 高度贊賞對名稱和描述的改進建議
  • 參考:來自Code Affine博客的JCG合作伙伴 Frank Appel的Eclipse Mockito模板 。

    翻譯自: https://www.javacodegeeks.com/2014/02/mockito-templates-for-eclipse.html

    總結

    以上是生活随笔為你收集整理的Eclipse的Mockito模板的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。