2016-07-13 2 views
1

У меня есть метод readCSV() в Microsoft365Offer, который я издевался. Но из-за этого я не могу создать объект класса Microsoft365Offer.Grails Spock не удалось создать объект для класса Mocked

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 ] 
      } 

Выход ===== идет здесь ======== нулевой

Как я могу решить эту проблему? Заранее спасибо.

+0

Покажите свой StackTrace. –

+0

Нет мусорного ящика стека, поскольку вывод выводится на печать. –

+0

Вы можете столкнуться с проблемами Spock 445 (https://github.com/spockframework/spock/issues/445). Я бы попытался насмехаться по-другому, но не вижу достаточного контекста вашего теста, чтобы предложить конкретную альтернативу. – railsdog

ответ

0

я не смог найти решение, но обходной путь для этой проблемы:

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] 
} 
Смежные вопросы