列表<String> JUnit
List<String> JUnit
@Test
public void Test() {
Tester rd = new Tester();
Assert.assertSame(variable.getList(), ("banana, apple, pineapple"));
}
所以 variable.getList 会 return 一个列表,所以当我 运行 测试时会出现错误,因为 ["banana, apple, pineapple"] 与 "香蕉、苹果、菠萝”。
我怎样才能把 ("banana, apple, pineapple") 变成 ["banana, apple, pineapple"]??
首先,我将使用 assertEquals
来测试 相等性 (即使用 equals
方法)而不是 asssertSame
, identity 的测试(即使用 ==
运算符)。
其次,您需要将其包装在 List
:
中,而不是像您当前拥有的字符串
Assert.assertEquals(variable.getList(), Collections.singletonList("banana, apple, pineapple"));
您可以使用列表而不是固定字符串。
final String[] expectedResult = new String[] { "banana", "apple", "pineapple" };
Assert.assertEquals(variable.getList(), Arrays.asList(expectedResult));
First of: assertSame
断言两个参数引用同一个对象(即等同于使用 ==
)。这是几乎从来没有您想断言的。您更有可能想要使用 assertEquals()
.
其次,如果你想检查结果是否等于一个包含三个字符串对象的列表,那么构造一个类似 List.of
:
的列表
Assert.assertEquals(variable.getList(), List.of("banana", "apple", "pineapple"));
如果您只能使用 Java 9 之前的 Java 版本,那么在这种情况下 Arrays.asList()
足以替代 List.of
。
@Test
public void Test() {
Tester rd = new Tester();
Assert.assertSame(variable.getList(), ("banana, apple, pineapple"));
}
所以 variable.getList 会 return 一个列表,所以当我 运行 测试时会出现错误,因为 ["banana, apple, pineapple"] 与 "香蕉、苹果、菠萝”。 我怎样才能把 ("banana, apple, pineapple") 变成 ["banana, apple, pineapple"]??
首先,我将使用 assertEquals
来测试 相等性 (即使用 equals
方法)而不是 asssertSame
, identity 的测试(即使用 ==
运算符)。
其次,您需要将其包装在 List
:
Assert.assertEquals(variable.getList(), Collections.singletonList("banana, apple, pineapple"));
您可以使用列表而不是固定字符串。
final String[] expectedResult = new String[] { "banana", "apple", "pineapple" };
Assert.assertEquals(variable.getList(), Arrays.asList(expectedResult));
First of: assertSame
断言两个参数引用同一个对象(即等同于使用 ==
)。这是几乎从来没有您想断言的。您更有可能想要使用 assertEquals()
.
其次,如果你想检查结果是否等于一个包含三个字符串对象的列表,那么构造一个类似 List.of
:
Assert.assertEquals(variable.getList(), List.of("banana", "apple", "pineapple"));
如果您只能使用 Java 9 之前的 Java 版本,那么在这种情况下 Arrays.asList()
足以替代 List.of
。