L'écriture d'une Unité de test en Java avec la méthode main
J'ai un peu de méthodes de ma classe
public class StringChecking
{
public static void main(String[] args);
public void stringChecker(String text, int number); //takes a string and prints that out.
}
Je veux écrire Unité de test pour tester le " stringChecker()
" la méthode. Je me demandais comment j'allais faire cela. Quand je crée un objet de type StringChecking
dans mon JUnit Test de la classe, je n'arrive pas à accéder stringChecker()
méthode à partir de cette instance.
StringChecker méthode imprime certain nombre de mots du texte adopté en fonction du paramètre.Je voudrais vérifier pour voir si les 10 premiers mots d'obtenir imprimés sont les mêmes que les résultats attendus.
De la classe de test JUnit
String expected = "My name is";
asserEquals(expected, actual);
Je suppose que je vais devoir faire mon stringChecker méthode de retourner quelque chose, afin de faire le chèque. Mais je ne comprends pas pourquoi je ne peux pas accéder à la méthode de test de la classe.
- Comment êtes-vous "accès à" la méthode? Et, quel est le titre de le faire avec ce que vous demandez?....
- Vous mieux partager le code, vous êtes en cours d'exécution, vous avez tout à fait foiré les choses tout en essayant de couper et tailler.
Vous devez vous connecter pour publier un commentaire.
Si vous êtes tenté de faire valoir les valeurs de retour, puis la signature de la méthode est incorrect - il devrait être de retour d'un
String
. À partir de là, vous pouvez effectuer le fonctionnement habituel avec JUnit (votremain
méthode ne sert à rien dans ce contexte):Simplement l'impression de valeurs affirme/valide rien - ils fournir une confirmation visuelle, qui peut être souvent incorrecte ou invalide.
Java est de savoir quelles sont ces valeurs, et le moyen le plus direct de le faire est de retourner la valeur que vous avez besoin de revenir.
Ce n'est pas à dire que vous pouvez jamais tester un
void
méthode, mais que dans ce cas, il n'est pas approprié.Le code serait plus facile de tester si, au lieu de l'impression, le nombre, la méthode retourné à l'appelant.
Si vous voulez tester la réelle impression, vous pouvez définir un espion de l'objet Système.hors qu'au lieu de l'impression de la collecte des données. Ensuite, votre test peut affirmer l'exactitude de cette sortie.