2017-06-03 4 views
0

Voici mon morceau de code:testeur Goyave null ne cesse de lancer erreur

public class MyTest { 
    @NonNull 
    private MyObject MyObjectClient; 

    private Object copyOfTestObject; 

    public TestMyResult methodFoo(Object testobject) { 
     ... 
     ... 
     ... 
     copyOfTestObject = clone(testObject); 
    } 


} 

Maintenant, j'ai un test unitaire pour cette classe:

public class MyTestUnitTest { 

    @Rule public MockitoRule mockitoRule = MockitoJUnit.rule(); 

    private MyTest classUnderTest; 

    @Test 
    public void testNulls() { 
     NullPointerTester nullPointerTester = new NullPointerTester(); 
     nullPointerTester.testConstructors(MyTest.class, NullPointerTester.Visibility.PACKAGE); 
     nullPointerTester.testAllPublicInstanceMethods(classUnderTest); 
    } 
} 

Quand je lance le test unitaire, je garde obtenir cette erreur: Aucune exception levée pour le paramètre à l'index 1 de MyTest (MyObject, MyObject2) pour la classe MyTest.

Je ne sais pas exactement pourquoi cette erreur est lancée. Dois-je ajouter l'annotation @Nullable à la variable copyOfTestObject? Si non, y a-t-il un moyen de faire fonctionner ce test unitaire?

Merci.

Répondre

3

Il semble que le problème est pas avec methodFoo mais avec le constructeur MyTest(MyObject, MyObject2) ... le paramètre MyObject2 n'est pas @Nullable, votre constructeur ne lance une exception si null est transmise pour elle.

+0

Merci pour la réponse. Ajouter cette annotation fonctionne. Je n'étais pas tout à fait sûr si c'est la cause racine elle-même, mais il ressemble à ça. – chrisrhyno2003