2014-06-24 43 views
3

對於一個簡單的域類這樣的工作:GETALL()不單元測試

class Color { 
    String name; 
} 

爲什麼沒有getAll()工作?

"red" == Color.getAll([1]).name 
     |  |   | 
     false [null]  [] 

我已經試過這對Grails的2.2.42.4.0

回答

2

嘗試

"red" == Color.getAll([1L]).name 

您使用的是整數,而ID類型:與

@TestFor(MyColorService) 
@TestMixin(DomainClassUnitTestMixin) 
@Mock([Color, Shade, ColorShade]) 
class MyColorServiceSpec extends Specification { 
    def color 

    def setup() { 
     color = new Color(name: "red") 
     color.save(flush: true) 
    } 

    def "test colors by shade"() { 
     expect: 
      1 == Color.count 
      "red" == Color.all[0].name 
      "red" == Color.getAll([1]).name 
    } 
} 

測試失敗對於域類是Long

+0

工作。我是否應該爲這部分文檔發送更改請求? http://grails.org/doc/latest/ref/Domain%20Classes/getAll.html – birdy

+0

當然!捐款歡迎 –