2017-07-25 133 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

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