grails单元测试模拟不使用spock

时间:2017-02-02 02:19:58

标签: unit-testing mocking spock grails-3.0

我正在尝试模拟redisService及其方法。我不确定为什么这不起作用。基本上我在服务代码中得到一个空指针,因为存根的smembers()方法返回null而不是下面的模拟Set。有任何想法吗? THX。

void "test findAnagramsForWord happy path"() {
    given: "a test word and a mocked service"
       String word = "read"
       Set mockSet = new HashSet()
       mockSet.add("read")
       RedisService mockRedisService = Mock()
       mockRedisService.smembers(_) >> mockSet
       service.redisService = mockRedisService
    when: "anagramService.findAnagramsForWord is called"
       def anagramMap = service.findAnagramsForWord(word)
    then: "Expect to equal a certain product of prime numbers"
       anagramMap.anagrams.length() == 2
}

0 个答案:

没有答案