我正在尝试使用Gradle运行GEB测试;如果我从一个方法运行所有东西但是如果我使用辅助函数则失败,它可以正常工作:
方案1有效:
def "Select ORG Unit and save the invoice and Delete it"() {
when: "We click arrivals drop-down link"
waitFor { inprogtoArrivals.isDisplayed() }
then: "Click on the Arrivals Tab"
waitFor { $('#arrivalsTab').find("a").click() }
Browser.drive {
go driver.currentUrl
}
waitFor { createInvoice.click() }
}
无效的情景2:
def uploadInvoice() {
when: "We click arrivals drop-down link"
waitFor { inprogtoArrivals.isDisplayed() }
then: "Click on the Arrivals Tab"
waitFor { $('#arrivalsTab').find("a").click() }
}
def "Select ORG Unit and save the invoice and Delete it"() {
when:
uploadInvoice()
Browser.drive {
go driver.currentUrl
}
then:
waitFor { createInvoice.click() }
}
在这里,它无法处理uploadInvoice()
并失败。有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
您不能在辅助方法中使用when:
和then:
块,因为这些块是Spock用于区分特征(测试)方法和常规方法的块。您使用这些块的事实意味着uploadInvoice()
是一个测试。