6
votes

Mockito: Vérifier la question (moqueur)

Avoir de très durement difficiles à essayer de résoudre ce problème, quelqu'un m'aida-t-il s'il vous plaît?

Je fais clairement quelque chose de faux faux j'ai essayé de vérifier chaque objet maquette, mais cela ne semble pas fonctionner. < Pré> xxx

Voici mes tests xxx

si quelqu'un pourrait m'aider ce serait génial.


1 commentaires

J'ai essayé votre test avec des implémentations vides de vos classes et tout fonctionne bien (c'est-à-dire sans ce genre d'exception, évidemment les tests échouent à leurs affirmations). Peut-être que vous pourriez faire la même chose: commenter toute la mise en œuvre et vérifier si cela fait que ce problème va awway. Ensuite, commencez à ajouter de l'ajout de code et d'identifier l'addition provoque cette exception. Ensuite, revenez-nous si cela n'est toujours pas clair, ou postez la réponse vous-même si vous pouvez le résoudre.


3 Réponses :


0
votes

Le message d'erreur suggère que vous avez un manquant> vérifier (EM) ...; appelle dans la méthode de test affectée Search_onehourslot_twobookingAndiable () . .

Je suggère fortement de reformater votre code de test séparant au moins les affirmations du code de test dans chaque méthode de test.


2 commentaires

J'ai ajouté vérifier (EM) à chacune des méthodes, mais cela ne semble pas résoudre le problème


@ user1408682 appelant vérifier (em) ne suffit pas. Vous devez vérifier un appel de méthode complet, comme vérifier (EM) .Method (a) voir API Mockito chapitre 4.



5
votes

Vous essayez d'utiliser la méthode de vérification du cadre Mockito en mauvais sens. Il est utilisé pour vérifier que certains comportements sont arrivés une fois. Dans vos tests, vous devez spécifier quel comportement est arrivé (par comportement signifiant appel à la méthode).

Voici un exemple de test qui vérifie que vérifie la méthode d'envoi de mails: P>

@RunWith(MockitoJUnitRunner.class)
public class MailSenderTest {

    @Mock
    private JavaMailSender javaMailSender;

    @InjectMocks
    private MailSenderImpl mailSender;

    @Test
    public void testSendMail() {

        String from = "somemail@gmail.com";
        String to = "Danothermail@gmail.com";
        String title = "Test";
        String text = "Hello world!";

        SimpleMailMessage message = new SimpleMailMessage();
        message.setFrom(from);
        message.setTo(to);
        message.setSubject(title);
        message.setText(text);

        mailSender.sendMail(to, title, text);

        Mockito.verify(javaMailSender).send(message);
    }

}


0 commentaires

0
votes

a ajouté ceci à chaque test et ça marche, merci Harpun que vous avez vraiment aidé ici xxx


0 commentaires