Interface de la méthode sous test
public class Foo {
public void process(List<String> arg0) {
/*Voir ci-dessous*/
}
}
Code de test approprié écrit par moi-même
List<String> arg0 = Arrays.asList("Ah", "je", "U");
Foo foo = new Foo();
foo.process(arg0);
Cela tombe avec une ClassCastException
pour une raison quelconque.
J'ai été surpris de voir la source à tester.
Pourquoi as-tu pris la peine de lancer
public void process(List<String> arg0) {
//↓ Aucun avertissement de compilation!
List<String> ls = (ArrayList) arg0;
//Ce qui suit est omis
}
C'était un code horrible qui ne donnait même pas d'avertissement de compilation ...
Il n'est pas tombé là où c'était naturel. (Je ne dis pas que c'est bon parce que ça ne tombe pas)
Code de test écrit par un nouveau venu
List<String> arg0 = new ArrayList<>();
arg0.add("Ah");
arg0.add("je");
arg0.add("U");
Foo foo = new Foo();
foo.process(arg0);