使用时使用Spock进行单元测试失败(TimeCategory)

时间:2015-08-13 05:15:56

标签: grails groovy spock

我在我的项目中使用Grails 2.4.4,并且我正在尝试使用Spock编写单元测试用例。我尝试进行单元测试的方法使用use(TimeCategory)。测试用例运行的时间太长了,在调试时我发现它没有超过我use(TimeCategory)的代码点。请在下面找到我为其编写的方法和测试用例:

def getEstimatedSl(val) {

        // some code
        calculateSl()
        // some code
    }

def calculateSl() {
    use(TimeCategory) {
            interval = 10 
            startDate = //some date value// 
            endDate = //some date value// 
        } 

        while (endDate.compareTo(startDate) >= 0) { 
            use(TimeCategory) { 
                startDate += interval 
            } 
        }
}

void "test getEstimatedSl success"() {
        when:
        def dto = service.getEstimatedSl('ABCDEFGH')

        then:
        dto.slots ==  /*dto value that I get*/
        dto.count == 4
    }

有人可以告诉我我做错了什么吗?提前致谢。

1 个答案:

答案 0 :(得分:0)

对不起,我发布答案的时间已经很晚了,但事实证明我的服务代码没有任何问题。我没有在我的测试用例中设置间隔(在第10行),因此我的时间是无限循环。 无论如何,谢谢你的帮助,伙计们!