Eclipse的Mockito模板
有時候,我想念樹林里的樹木-那是一段令人不安的長時間。 我最近才再次意識到這一點,在無數(shù)次中鍵入了一個更詳細(xì)的模擬表達(dá)式。 有問題的語句是doAnswer(Answer)構(gòu)造,使用涉及到的靜態(tài)導(dǎo)入和泛型的東西進(jìn)行編碼總是很麻煩。
盡管我定期使用Eclipse Java模板生成例如循環(huán),切換和其他構(gòu)造,但我花了幾年( 僅… )的想法自己為我每天使用的模擬表達(dá)式編寫了其中的一些模板 。 毫不奇怪,事實證明,這使我的工作有所簡化。 因此,我認(rèn)為與感興趣的人分享github要點可能是一個好主意。
我不會詳細(xì)介紹所有模板,但將在ArgumentCapture構(gòu)造的基礎(chǔ)上簡要說明該概念。 對于后者,我?guī)缀蹩偸怯龅揭粋€問題,即使用駝峰式大小寫結(jié)合自動完成功能會自動添加一個類型參數(shù),之后我必須手動將其刪除: 1 。
使用Java模板可以避免此問題,因為您只需鍵入模板名稱的首字母,然后從內(nèi)容助手的下拉列表中選擇即可。 生成完整的代碼構(gòu)造,您唯一要做的就是填寫變量2 :
基本上,您可以使用制表符來完成生成的構(gòu)造。 如下圖所示,第一個模板變量已標(biāo)記并準(zhǔn)備好進(jìn)行編輯。 具有相同名稱的變量將屬于同一變量,并且將被同步更改(請參見圖片中的泛型type // classname-variable)。 完成當(dāng)前變量的操作后,請使用“ tab”鍵標(biāo)記下一個變量。 完成整個構(gòu)造后,按“ enter”跳到圖像中描述為光標(biāo)位置的綠色垂直線。
請注意,如果需要,模板還可以處理導(dǎo)入和靜態(tài)導(dǎo)入。 最終,您將得到類似于以下測試方法摘錄的第一行的內(nèi)容:
盡管ArgumentCapture構(gòu)造不是很大,但我非常感謝現(xiàn)在有一個模板。 我可以想到的最快的打字方式(使用內(nèi)容輔助,使用CRTL + 1分配給局部變量等)需要七個步驟,而此處描述的方法在四個步驟3 4中都可以做到。
最后一個示例圖像顯示了doAnswer(Answer)提到的更詳細(xì)的doAnswer(Answer)構(gòu)造的生成表達(dá)式將是什么樣子:
為了完整起見,我在本文的結(jié)尾部分列出了要點5中可用的模板:
| 模板名稱 | 描述 |
| 回答 | Mockito doAnswer(answer).when(mock).call()構(gòu)造 |
| doAnswerOnArgument | Mockito doAnswer(answer).when(mock).call()構(gòu)造可操縱調(diào)用參數(shù) |
| doReturn | Mockito doReturn(value).when(mock).call()構(gòu)造 |
| 扔 | Mockito doThrow(throwable).when(mock).call()構(gòu)造 |
| 上課 | Mockito ArgumentCaptor.forClass(Type.class)構(gòu)造 |
| 什么時候回答 | Mockito when(mock.call())。thenAnswer(answer)構(gòu)造 |
| whenThenAnswerOnArgument | Mockito when(mock.call())。thenAnswer(answer)構(gòu)造用于操縱調(diào)用參數(shù) |
| 當(dāng)然后返回 | Mockito when(mock.call())。thenReturn(value)構(gòu)造 |
| 什么時候扔 | Mockito when(mock.call())。thenThrow(throwable)構(gòu)造 |
- Github Gist下載: https : //gist.github.com/fappel/8863588
如果您對其他的Mockito模板有任何想法,改進(jìn),批評,替代之類的東西,我當(dāng)然會很高興在這里提出。 所以不要害羞,試試看!
翻譯自: https://www.javacodegeeks.com/2014/02/mockito-templates-for-eclipse.html
總結(jié)
以上是生活随笔為你收集整理的Eclipse的Mockito模板的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 蓝廋香菇是啥意思 蓝廋香菇的意思
- 下一篇: 怎么吹萨克斯 吹萨克斯的方法