0
我在一個Grails控制器做一個小的有點像這樣:Groovy的排序工作在Grails的單元測試,但不能在服務器
itemList.sort { a, b ->
Integer num1 = a.identifier as Integer
Integer num2 = b.identifier as Integer
num1 <=> num2
}
的列表中標識的對象是一個字符串,所以我做了轉換所以它們按整數排序。我有單元測試,驗證這種排序毫無疑問是正確的,但是,當我將這個應用程序部署到服務器時,排序完全不起作用。
我正在使用Grails 2.2.1。我沒有想法......我可以探索的任何線索?
謝謝!
您是否有示例數據不起作用?你能在服務器上打印出來看看它在排序嗎? –
感謝您的回覆蒂姆 - 我在我的單元測試中使用了一個數據集,它反映了服務器上設置的「問題」。我將添加一些日誌記錄以查看是否有幫助。由於我的語言/框架版本不應該成爲問題,因此難以確定此問題的起因。我想知道是否有人可能在Grails的prod和測試環境之間看到過這種不一致之處。 – user2868740
排序後,你使用itemList或sort()的返回值? Groovy JDK規定[Collections.sort()](http://groovy.codehaus.org/groovy-jdk/java/util/Collection.html#sort%28groovy.lang.Closure%29)如果itemList isn'列表(例如,一個集合)itemList不會被排序,但返回值會是。在單元測試與生產中,itemList也可能是不同的數據類型。 – schmolly159