2017-09-23 5 views
0

Je suis en train d'écrire un test élémentaire pour vérifier que ma méthode insertToCollection fonctionne correctement ou non.Java MongoDB collection.insert renvoie null pour test d'unité de chargement

InsertToMongoCollection.java

protected void insertToCollection() { 
    collection.insert(recordList); 
} 

SPOCK:

def "InsertToMongoCollection"() { 
    given: 
    Record record = new Record() 
    record.setId("111") 
    Collection collection= Mock() 
    InsertToMongoCollection.collection = collection 

    when: 
    InsertToMongoCollection.addToGroup(record) // this inserts into recordList 
    List<Record> result = collection.insertToCollection() 

    then: 
    result.count() == 1 
} 

Le moqueur est fait correctement et le recordList a également 1 enregistrement. Si je débogue et vois. Mais lorsque le collection.insert est appelé, le résultat est nul.

Répondre

0

insertToCollection avait un type void de retour, donc renvoie null quand vous

List<Record> result = collection.insertToCollection() 

Modifier le type de retour de la méthode afin que vous puissiez le tester, ou exécuter un mongo faux, et vérifier les dossiers sont

+0

J'ai essayé de garder un débogueur sur 'collection.insertToCollection()' dans la méthode JAVA et j'ai essayé d'exécuter l'expression manuellement. – vishalkin

+0

JAVA: protected void insertGroupToRepository() { Liste résultat = domFareRepository.insert (listeEnregistrement); log.info ("Résultat: {}", résultat); } [principal] INFO com.XXX.XXX - Résultat: null – vishalkin

+0

Essayé un test fonctionnel séparément .. et qui fonctionne bien en utilisant mongo encastré. – vishalkin