优化关键字
Optimize a keyword
我使用 SilkTest 和 Java 自动化测试。
在这个关键字中,我得到了列表并将其与预期的进行比较。
有没有办法优化我的代码,因为我已经多次声明了每个列表。
public void vérification_des_listes(String listAttendu) {
final String[] list1 = listAttendu.split(";", -1);
final ArrayList<String> listExpected = new ArrayList<>();
for (final String I : list1) {
listExpected.add(I);
}
System.out.println(listExpected.toString());
final Object[] list2 = desktop.<DomListBox>find("BrowserApplication.BrowserWindow.Personne.Titre_champ").getItems().toArray();
final ArrayList<String> listFound = new ArrayList<>();
for (final Object E : list2) {
listFound.add(E.toString());
}
System.out.println(listFound.toString());
assertTrue("", listExpected.equals(listFound));
}
而不是
final String[] list1 = listAttendu.split(";", -1);
final ArrayList<String> listExpected = new ArrayList<>();
for (final String I : list1) {
listExpected.add(I);
}
你可以使用
final String[] list1 = listAttendu.split(";", -1);
final List<String> listExpected = Arrays.asList(list1);
见https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Arrays.html#asList(T...)
public static void vérification_des_listes(String listAttendu) {
final String[] list1 = listAttendu.split(";", -1);
final List<String> listExpected = Arrays.asList(list1);
final Object[] list2 = desktop.<DomListBox>find("BrowserApplication.BrowserWindow.Personne.Titre_champ").getItems().toArray();
final List<String> listFound = Arrays.stream(list2).map(Objects::toString).toList();
Assertions.assertEquals(listExpected, listFound);
}
您可以利用 class 数组,还可以进行一些 java 流处理以将您的对象转换为字符串。另请查看 assertj 以更灵活的方式比较集合(可以查看示例 here)。
我使用 SilkTest 和 Java 自动化测试。 在这个关键字中,我得到了列表并将其与预期的进行比较。 有没有办法优化我的代码,因为我已经多次声明了每个列表。
public void vérification_des_listes(String listAttendu) {
final String[] list1 = listAttendu.split(";", -1);
final ArrayList<String> listExpected = new ArrayList<>();
for (final String I : list1) {
listExpected.add(I);
}
System.out.println(listExpected.toString());
final Object[] list2 = desktop.<DomListBox>find("BrowserApplication.BrowserWindow.Personne.Titre_champ").getItems().toArray();
final ArrayList<String> listFound = new ArrayList<>();
for (final Object E : list2) {
listFound.add(E.toString());
}
System.out.println(listFound.toString());
assertTrue("", listExpected.equals(listFound));
}
而不是
final String[] list1 = listAttendu.split(";", -1);
final ArrayList<String> listExpected = new ArrayList<>();
for (final String I : list1) {
listExpected.add(I);
}
你可以使用
final String[] list1 = listAttendu.split(";", -1);
final List<String> listExpected = Arrays.asList(list1);
见https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Arrays.html#asList(T...)
public static void vérification_des_listes(String listAttendu) {
final String[] list1 = listAttendu.split(";", -1);
final List<String> listExpected = Arrays.asList(list1);
final Object[] list2 = desktop.<DomListBox>find("BrowserApplication.BrowserWindow.Personne.Titre_champ").getItems().toArray();
final List<String> listFound = Arrays.stream(list2).map(Objects::toString).toList();
Assertions.assertEquals(listExpected, listFound);
}
您可以利用 class 数组,还可以进行一些 java 流处理以将您的对象转换为字符串。另请查看 assertj 以更灵活的方式比较集合(可以查看示例 here)。