3

我必须编写包含重复代码的测试用例。

  1. 方法的名称应该是用_分隔的ClassName 例如:class_name_test
  2. 对象名称应为 classNameObj,模拟方法应采用 ClassName.class
  3. genericObj.call 语句对所有方法都是通用的 sayHello 应该绑定到 classNameObj 剩下的结果是通用的
  4. 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();
}
4

1 回答 1

3

片段就像类固醇的内置:abbreviate,通常在其中包含参数插入、镜像和多个停止。snipMate(灵感来自TextMate编辑器)是第一个非常著名(并且仍然被广泛使用)的 Vim 插件。不幸的是,它不再维护了;虽然有一个叉子。一个现代替代方案(尽管需要 Python)是UltiSnips。还有更多,请参阅Vim Tips Wiki 上的此列表

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

于 2017-07-26T09:13:41.500 回答