Pourquoi mon importation de la méthode containsString ne fonctionne-t-elle pas?
J'ai écrit le simple Java script ci-dessous afin d'en apprendre plus sur TDD, IntelliJ et de Java lui-même.
import java.util.ArrayList;
import java.util.List;
import org.junit.Before;
import org.junit.Test;
import static org.hamcrest.CoreMatchers.containsString;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
import static org.junit.matchers.JUnitMatchers.both;
public class JUnit_Dummy {
private StringJoiner joiner;
private List<String> strings;
@Before
public void setUp() throws Exception {
strings = new ArrayList<String>();
joiner = new StringJoiner();
}
....
@Test
public void shouldContainBothStringsWhenListIsTwoStrings() {
strings.add("one");
strings.add("two");
assertThat(joiner.join(strings),
both(containsString("A")).
and(containsString("B")));
}
}
_____________
import java.util.List;
public class StringJoiner {
public String join(List<String> strings) {
if(strings.size() > 0) {
return (strings.get(0);
}
return "";
}
}
Je suis en train d'utiliser le "containsString" méthode à l'intérieur d'une affirmation, mais l'Ide me dit qu'il ne peut pas résoudre la méthode 'containsString(java.lang.String)". Ceci malgré le fait que la jUnit docs (http://junit.sourceforge.net/javadoc/org/junit/matchers/JUnitMatchers.html#containsString(java.lang.String)) dites-moi que cette méthode accepte un paramètre de Chaîne.
J'ai essayé de changer l'importation de divers états, y compris les suivantes:
import static org.hamcrest.Matcher.containsString;
import static org.hamcrest.Matcher.*;
import static org.hamcrest.CoreMatchers.*;
Le meilleur que j'obtiens est un grisé instruction d'importation de me dire que l'instruction d'importation n'est pas utilisé. Pas sûr de ce que le problème est, toute aide serait appréciée.
Mise à JOUR:
Ici est exactement l'erreur de compilateur:
java: cannot find symbol
symbol: method containsString(java.lang.String)
location: class JUnit_Dummy
source d'informationauteur Richie Thomas
Vous devez vous connecter pour publier un commentaire.
Je pensais que j'avais tout essayé, la peine d'instruction d'importation déjà, mais celui-ci a fait le tour:
Nous sommes censés utiliser
containsString
méthode de hamcrest bibliothèque.Ma suggestion serait de coller à Junit 4 et à l'importation hamcrest bibliothèque 1.3 dans votre build path. Cela ferait l'affaire.
Ce qui vous permettra d'accéder à d'autres fonctionnalités de hamcrest bibliothèque.
La solution peut également être trouvée en ajoutant la nécessaire statique importations manuellement. Ou vous pouvez configurer le nécessaire statique des importations dans l'onglet favoris de l'éclipse.
J'ai connu le même problème avec un Ressort de Démarrage de l'app.
Semble que c'est une dépendance de la commande de problème.. l'une des dépendances mentionné dans pom.xml avant le "printemps-amorçage-starter-test" artefact a été substitution de la hamcrest version.
Donc tout ce que je faisait était de changer l'ordre (déplacé cette dépendance):
Je suis en utilisant le Printemps de Démarrage 1.5.7.La LIBÉRATION.