2016-07-13 7 views
1

erstellen Ich habe in Microsoft365Offer, die ich verspottet habe, readCSV() -Methode. Aber deswegen kann ich kein Objekt der Microsoft365Offer-Klasse erstellen.Grails Spock konnte kein Objekt für Mocked Klasse

GroovyMock(Microsoft365Offer, global: true) 

      Microsoft365Offer.readCSV(_,_) >> { 
       Microsoft365Offer microsoft365Offer = new Microsoft365Offer(
         "name"     : "any thing as product name", 
         "offerURI"    : "4A-FAEA24541538", 
         "resellerPrice"   : 1.6, 
         "fob"     : 1.41, 
         "includedQuantities" : 0, 
         "minimumValue"   : 0, 
         "taxesPISD"    : 0, 
         "defaultTaxesISS"  : 0) 

       println "=====coming in here========$microsoft365Offer" 
       return ["1":microsoft365Offer ] 
      } 

Ausgabe ===== kommen hier in ======== null

wie ich dieses Problem beheben kann? Danke im Voraus.

+0

Zeigen Sie Ihre Stacktrace. –

+0

Kein Papierkorb, da die Ausgabe null ist. –

+0

Möglicherweise treffen Sie Spock Issues 445 (https://github.com/spockframework/spock/issues/445). Ich würde versuchen, auf eine andere Art und Weise zu spotten, aber sehe nicht genug Kontext über deinen Test, um eine konkrete Alternative vorzuschlagen. – railsdog

Antwort

0

Ich konnte nicht die Lösung finden, aber eine Abhilfe für das Problem:

Microsoft365Offer microsoft365Offer = new Microsoft365Offer(
         "name"     : "any thing as product name", 
         "offerURI"    : "4A-FAEA24541538", 
         "resellerPrice"   : 1.6, 
         "fob"     : 1.41, 
         "includedQuantities" : 0, 
         "minimumValue"   : 0, 
         "taxesPISD"    : 0, 
         "defaultTaxesISS"  : 0) 

GroovyMock(Microsoft365Offer, global: true) 

Microsoft365Offer.readCSV(_,_) >> { 
    println "=====coming in here========$microsoft365Offer" 
    return ["1":microsoft365Offer] 
} 
Verwandte Themen