getAll()在单元测试中不起作用

时间:2014-06-24 03:29:36

标签: grails spock

对于像这样的简单域类:

class Color {
    String name;
}

为什么getAll()没有工作?

@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
    }
}

测试失败了:

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

我已经在grails 2.2.42.4.0

上尝试过此操作

1 个答案:

答案 0 :(得分:2)

尝试

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

您正在使用整数,而域类的ID类型为Long