events - Spock和Grails-等待服务或 Controller 发生事件

标签 events grails asynchronous spock geb

我正在运行一个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/

相关文章:

java - 如何使用 jersey 进行异步方法调用?

javascript - AngularJS 指令属性从 Controller 访问

javascript - 从输入传递事件元素

grails - 运行Maven目标时执行Grails环境配置

grails - Grails中口音不敏感的搜索-创建条件

c# - WPF ComboBox 延迟过滤

events - gwt 中的 Window.alert() 事件

java - 如何强制对组件执行操作?

grails - 3.0.0.M1 : SSL - Invalid keystore format

java - EventProcessorClient 中事件的异步处理