I have a Grails service that sends out e-mails using a 3rd-party service by doing a HTTP call:
class EmailService {
def sendEmail(values) {
def valueJson = values as JSON
... // does HTTP call to 3rd party service
}
}
我已经编写了一个单元测试来测试该服务(因为集成测试会启动Hibernate和整个域框架,这是我不需要的):
@TestFor(EmailService)
class EmailServiceTests {
void testEmailServiceWorks() {
def values = [test: 'test', test2: 'test2']
service.sendEmail(values)
}
}
但是,当我执行此单元测试时,它在try 执行as JSON
转换时失败,并出现以下异常:
UnhandledException:类的org.codehaus.groovy.grails.web.converters.exceptions.ConverterException:不可转换对象:java.util.LinkedHashMap
I then re-wrote my unit test to just do the following:
void testEmailServiceWorks() {
def value = [test: 'test', test2: 'test2']
def valueJson = value as JSON
}
当它try 进行as JSON
次转换时,我得到了同样的异常.
有谁知道我为什么会得到这个例外,以及我怎样才能修复它?