2017-10-16 36 views
1

Mon code ci-dessous fonctionne bien avec Java 1.7 et la version Mockito est 1.10.19. Mais quand je suis passé à Java 1.8 avec la même version de Mockito, il a commencé à montrer l'erreur ci-dessous (caractères gras). Lorsque j'ai vérifié le site Mockito, j'ai trouvé que Mockito 3 encore à supporter java 8. Si oui, alors quelle est la solution pour cela? Devrais-je attendre leur libération ou y a-t-il un moyen de résoudre ce problème? J'ai essayé de passer AnyString() à la place de any() mais mon code casse encore. Même anyObject() ne m'a pas aidé.La méthode Any() échoue à compiler en Java 1.8 avec Mockito 1.10.9

verify (mxsMessageOutMock, times (0)). AddField (anyString(), anyString());

CreateNewAlertRequestBuilderTest.java:436:0::0 La méthode addField (String, String) est ambigu pour le type IMXSMessageOut [ant: CJI] [Erreur 7]: erreur à vérifier (mockMessageOut, les temps (0)) .addField (anyString(), any());

Je comprends qu'il est difficile de suggérer sans code complet mais ici ce que je pourrais partager un morceau de code.

+0

@Eugene, je suis d'accord avec vous mais cela me donnerait une erreur dans mon code ailleurs donc je suis confus comment résoudre ce problème. – user3534759

+0

Avez-vous essayé de mettre à niveau le plus récent Mockito 2.x.x? Cela peut résoudre votre problème. –

+0

Cela ne ressemble pas à une description correcte du message d'erreur. Une seule méthode ne peut pas être ambiguë. Un message d'erreur sur la méthode ambiguë (appel) s devrait nommer les candidats. En outre, je ne comprends pas pourquoi vous avez posté une autre méthode à la fin. Voulez-vous dire que ce code source fait partie du message d'erreur? – Holger

Répondre

1

any(String.class)? si addField accepte String, String pourquoi ne pas utiliser anyString(), anyString()