我正在运行一个spock测试,在该测试中,我需要等待服务或 Controller 中发生的异步事件,并断言其内容为true。例如,采用以下伪代码...
def "testA"() {
when:
//start the event
service.startEvent()
//wait for event to complete, and get it's contents
waitFor { event.complete }
result << event.eventContents
then:
data == [1,2,3,4]
}
我的用例是我正在对应用程序中的电子邮件功能进行功能测试。我需要应用程序发送邮件,等待电子邮件到达,并断言其内容真实。
最佳答案
在服务中有一个仅返回邮件是否已到达的方法是否足够?只需返回Boolean
就足够了。该方法应该可以帮助您等待。
如果您想要等待事件,那么也许您可以在Spock中提出一个增强请求,并认为这是一个好主意?
关于events - Spock和Grails-等待服务或 Controller 发生事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31473941/