Я использую Grails 2.2 и пишу функциональный тест для проверки ответа JSON, полученного от удаленной веб-службы. Веб-службе требуется, чтобы в запросе передавался некоторый контент JSON.
Когда я тестирую эту веб-службу с помощью такого инструмента, как «Почтальон», я получаю правильный ответ JSON.
Для этого я написал функциональный тестовый пример в Grails 2.2. Фрагмент моего примера кода приведен ниже.
import com.grailsrocks.functionaltest.*
import com.grailsrocks.functionaltest.client.APIClient
class RemoteWebServiceFunctionalTests extends TestCaseBase{
void testPost() {
post("http://remoteAddress:8080/services/getData", {
param1 = "value1"
param2 = "value2"
...
...
param3 = "value3"
})
assertStatus 200
}
@Override
Class getDefaultClientType() {
APIClient
}
}
Результат запуска тестового примера приведен ниже для справки.
|Running 1 functional test... 1 of 1
--Output from testPost--
Switching to browser client [default]
Creating to new client [default] of type [class com.grailsrocks.functionaltest.client.APIClient]
== Making request POST http://remoteAddress:8080/services/getData parameters: ==
param1: value1
param2: value2
...
...
param3: value3
== Request headers: ============================================================
== Content =====================================================================
================================================================================
== Response was 200 (OK) headers: ==============================================
Server: Apache-Coyote/1.1
Content-Type: application/json
Content-Length: 148
Date: Fri, 27 Mar 2015 17:36:33 GMT
================================================================================
== Content =====================================================================
{"errors":[{"Error0001":"Invalid request. Please refer to API definition"}],"result":null,"warnings":null}
================================================================================
Когда я запускаю тест, я возвращаю статус 200, но правильное содержимое ответа JSON не получено. Я думаю, что я не правильно форматирую запрос. Мне нужно знать правильный способ предоставления содержимого JSON для вызова удаленной веб-службы в функциональном тестовом примере.