针对grails服务的spock测试

viv*_*vek 0 grails spock

我的应用程序中有一个服务返回一个轨道列表,这里是代码

List<Track> getTrackListTracks(String listName, int max) {
    def tracks = getTrackListTracks(listName)
    if(tracks?.size() > max) {
        tracks = tracks[0 ..< max]
    }
    return tracks
}

List<Track> getTrackListTracks(String listName) {
    def tl = TrackList.findByName(listName)
    if(tl?.tracks) {
        return tl?.tracks?.collect { Track.read(it.trackId) }
    }
}
Run Code Online (Sandbox Code Playgroud)

我必须为此编写单元测试,但我无法写.任何人都可以帮助我.谢谢已经

小智 5

希望你已经超越了这一点,但对于那些后来的人来说,grails-spock-examples项目@ google代码(https://github.com/pschneider-manzell/grails-spock-examples)有很多例子.

更具体地说,对于服务(如您所问),请查看测试服务.

但是要小心 - 它与Grails 2所需的内容之间存在一些差异.例如,如果测试控制器,'redirectArgs'不再有效.请务必参阅Grails文档以了解差异.