我正在使用Parameterized
类创建测试用例,以提高可伸缩性。我有类似以下内容...
@RunWith(Parameterized.class)
public class Test
{
private final translator;
@Parameterized.Parameters(name = "translate {0}")
public static Collection parameters()
{
return Arrays.asList(new Object[][] {
{ Translate.EN },
{ Translate.FR }
});
}
public Test1(Translate translate)
{
this.translator = new TranslatorImpl(translate);
...
...
我有一个Linter,它为以下部分抛出错误...
return Arrays.asList(new Object[][] {
{ Translate.EN },
{ Translate.FR }
});
它说...
仅出于将其作为varargs(...)参数传递的目的而创建数组是没有意义的; varargs是一个数组。只需直接传递元素。它们将自动合并到一个数组中。附带地在期望的对象...处传递数组会使意图不明确:该数组应该是一个对象还是对象的集合?
我可能必须添加更多参数,因此使用Parameterized
类是有用的,我想使用它,但是我不确定如何解决我遇到的问题,甚至还没有解决的问题。任何想法都会有所帮助。
Arrays.asList
的签名是public static <T> List<T> asList(T... a)
,因此可以将单个数组元素供入,而不是将数组供入Arrays.asList
。在这种情况下:
return Arrays.asList(
new Translate[] { Translate.EN },
new Translate[] { Translate.FR }
);