我必须编写包含重复代码的测试用例。
- 方法名应该是ClassName,用_ ex: class_name_test分隔
- 对象名称应为 classNameObj,模拟方法应采用 ClassName.class
- genericObj.call 语句对所有方法都是通用的 sayHello 应该绑定(bind)到 classNameObj,剩下的结果是 common
- commonMethods 对所有对象都是通用的
与复制粘贴和更改 ClassName 和 classNameObj 不同,我有兴趣使用 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();
}
最佳答案
snippets 就像类固醇的内置 :abbreviate
,通常在其中包含参数插入、镜像和多个停止。第一个非常有名(并且仍然被广泛使用)的 Vim 插件是 snipMate (灵感来自 TextMate 编辑器);不幸的是,它不再被维护;虽然有 a fork .一个现代的替代方案(虽然需要 Python)是 UltiSnips .还有更多,见this list on the Vim Tips Wiki .
评价三点:一是snippet engine本身的特性,二是作者或他人提供的snippet的质量和广度;第三,添加新片段有多容易。
关于vim动态生成代码模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45304604/