2017-07-25 138 views
2

我必須編寫包含重複代碼的測試用例。vim動態生成代碼模板

  1. 的方法應該是類名的名稱delimitted與前_:class_name_test
  2. 對象名稱應該是classNameObj和模擬方法應採取ClassName.class
  3. 的genericObj.call語句是常見所有方法 的sayHello的應綁定到classNameObj並且剩餘結果是常見
  4. 的commonMethods是常見的所有對象

研究所複製粘貼和更改ClassName和classNameObj的ead,我有興趣使用Vim自動執行此操作。有可能做到這一點,如果我通過類名稱,其餘的應該生成?

方法模板如下所述。

@Test 
public void stop_video_request_valid_data() throws Throwable { 
    ClassName classNameObj = mock(ClassName.class); 
    when(genericObj.call()).thenReturn(new Object[]{classNameObj}); 
    when(classNameObj.sayHello()).thenReturn("Hello"); 
    commonMethods(); 
} 
+3

vim插件'snipmate'? – dlmeetei

回答

2

片斷就像內置:abbreviate類固醇,通常與參數插入,鏡像,並在他們裏面多個停靠點。第一個非常着名的Vim插件之一是snipMate(受TextMate編輯的啓發);不幸的是,它不再被維護;儘管有a fork。一個現代的替代品(需要Python)是UltiSnips。還有更多,請參見this list on the Vim Tips Wiki

有三件事情需要評估:一是片段引擎本身的特性,二是作者或其他人提供的片段的質量和廣度;第三,添加新片段是多麼容易。