xml - 转换为xml时的Groovy Grails测试用例错误

标签 xml unit-testing grails groovy junit

我正在尝试为此方法编写一个测试用例,当从非测试用例代码中击中该方法时,它可以工作...

import grails.converters.XML
Class itemService(){

    def getData(Map){
        def helperBean = new HelperBean(Map)
        def requestXml = helperBean as XML
            -------- some code-------------
        return requestXml
        }
    }

为了测试这种方法,我有一个像这样的测试用例:
 void testGetData(){

            def service = new itemService()
            def id="123"
            def map = [id:id.toLong()]
            def result = service.getData(map)
            assertNotNull(result)
            assertEquals "123", result.id
        }

但是它总是抛出这个异常
org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'com.xyz.groovy.utils.helperBean@443acc67' with class 'com.xyz.groovy.utils.HelperBean' to class 'grails.converters.XML'

在getData(Map方法)的这一行
   def requestXml = userBean as XML

谁能帮我解决为什么仅从测试用例中击中getData(Map)时会引发该异常的原因?从非测试用例代码中找到该方法时,它工作正常。

最佳答案

找到了解决方案。新增中
测试用例的setup()方法中的addConverters(helperBean)应该可以解决问题。

关于xml - 转换为xml时的Groovy Grails测试用例错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12098289/

相关文章:

xml - 规范用于 JUnit XML 输出

python - 在 Django 模板中迭代 XML

c# - VS 创建单元测试命令不适用于内部方法?

grails - 带 Grails 的 DDD

grails - 在Grails中使用数据库查询按集合中的值排序

shell - Grails shell 不会重新编译更改的文件

android - 很难将 child 与另一个 child 之间的最左和最右对齐

Python:XML 列表索引超出范围

java - 帮助解决失败的 Grails 测试 - 域方法不起作用?

php - 运行 PHPUnit 时出错