【发布时间】:2019-08-12 21:03:16
【问题描述】:
当我自动化这个时,我才知道抛出的 500 错误是由服务器给出的。但是在我们的代码级别,我们已经处理了异常和响应 =null
因此,当我尝试使用 response.status==500 进行断言时,它失败了,因为响应完全为空。
package test
import geb.spock.GebReportingSpec
import groovyx.net.http.RESTClient
import net.sf.json.JSON
import org.apache.log4j.Logger
import spock.lang.Specification
import spock.lang.Unroll
class EventsAPITest extends GebReportingSpec{
static Logger logger = Logger.getLogger("EventsAPITest");
@Unroll
def "Call calendar event for Invalid Location id 110 throws groovyx.net.http.HttpResponseException"() {
given:
RESTClient restClient = new RESTClient("https://test-api2.club-os.com")
def response=restClient.get(path: '/authenticate',requestContentType: JSON,query:[
'username': 'apiuser',
'password':'apipassword',
])
def authToken=response.data.token
logger.info"Token:" +authToken
restClient.defaultRequestHeaders['Authorization'] = authToken
def locationId=110
when:
response=restClient.get(path: '/locations/'+locationId+'/events',requestContentType: JSON, query:[
'startTimeStartAt': '2018-05-25T17:00:00.000Z',
'startTimeEndAt':'2018-06-01T17:00:00.000Z',
'eventTypeId' : 2 ])
then:
thrown groovyx.net.http.HttpResponseException
logger.info"Response: "+ response
// assert response.data.errorMessage=="Error"
assert response.status == 500
//assert response.status == 500
// assert response.data.errorMessage == "An unknown error occurred"
}
我希望能够断言 500 错误并将其返回。
【问题讨论】:
标签: groovy automation spock