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模板有任何想法,改進,批評,替代之類的東西,我當然會很高興在這里提出。 所以不要害羞,試試看!
翻譯自: https://www.javacodegeeks.com/2014/02/mockito-templates-for-eclipse.html
總結
以上是生活随笔為你收集整理的Eclipse的Mockito模板的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 蓝廋香菇是啥意思 蓝廋香菇的意思
- 下一篇: 怎么吹萨克斯 吹萨克斯的方法