grails - Groovy排序可在Grails单元测试中使用,但不能在服务器上使用

标签 grails groovy

我正在像这样的Grails Controller 中做一个小排序:

itemList.sort { a, b ->
            Integer num1 = a.identifier as Integer
            Integer num2 = b.identifier as Integer
            num1 <=> num2
        }

List对象上的标识符是一个字符串,因此我正在进行转换,因此它们按整数排序。我有单元测试可以毫无疑问地验证这种排序是否正常,但是,当我将此应用程序部署到服务器时,这种排序根本无法正常工作。

我正在使用Grails 2.2.1。我没有主意...我可以探索的任何线索?

谢谢!

最佳答案

确保您使用的是sort()调用的返回值,而不是原始集合的返回值。 Groovy JDK针对Collection.sort(Closure)指出,如果原始集合不是列表(例如Set),则不会对其进行排序,但返回值将是。在单元测试与生产中,原始集合也可能是不同的数据类型。

关于grails - Groovy排序可在Grails单元测试中使用,但不能在服务器上使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21732644/

相关文章:

grails - 在单个附加程序上使用多个记录器

grails - 判别标准

grails - 如何使用谷歌地图?

java - 枚举 Java/Groovy 集合的 n 项组合

spring - Grails getSomething(int i) 方法无法编译

groovy - 通过 REST API 进行的 Artifactory 搜索导致 "Bad request"错误

java - 如何检查内部服务是否抛出异常?

grails - 登录事件监听器中的另一个事务错误更新或删除了行?

jquery - Grails动态更新模板 View 而无需Ajax

groovy - jenkins :groovy sandbox is not permitting to use jenkins. model.Jenkins getInstance