2017-09-23 4 views
0

私のメソッドinsertToCollectionがうまく動作しているかどうかを確認するためのユニットテストケースを作成しています。Java MongoDB collection.insertがSpockユニットテストでnullを返す

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 
} 

モックが正しく行われているとrecordListも1つのレコードを持っています。私はデバッグして参照してください。しかし、collection.insertが呼び出されると、結果はnullになります。

答えて

0

insertToCollectionvoid戻り値の型を持っていたので、あなたはそれをテスト、または偽のmongoを実行し、記録を確認することができますので、あなたが

List<Record> result = collection.insertToCollection() 

変更にメソッドの戻り値の型をしている行うときはnullを返します。挿入

+0

Javaメソッドの 'collection.insertToCollection()'にデバッガを置こうとしましたが、手動で式を実行しようとしました。 – vishalkin

+0

JAVA: protected void insertGroupToRepository(){ リスト結果= domFareRepository.insert(recordList); log.info( "結果:{}"、結果); } [main] INFO com.XXX.XXX - 結果:null – vishalkin

+0

機能テストを個別に試してみました。埋め込まれたmongoを使用して正常に動作します。 – vishalkin

関連する問題