У меня есть некоторые регрессионные тесты для веб-службы, чтобы убедиться, что мы возвращаем ошибки, когда требуемые поля отсутствуют. Когда отсутствуют параметры запроса (например, http://dummyurl.com?someRequiredParameter=something), все работает нормально. Когда требуемые параметры пути отсутствуют (например, http://dummyurl.com/requiredPathParameter/somethingelse), тест работает правильно в приложении SoapUI, но сбой при запуске из Maven. Я вижу ошибки в выходе, когда он пытается запросить эти плохие URL-адреса, но есть ли что-то другое в ответе (должен ли я проверять 500-е с сервера) или какую-то другую информацию, которую мне нужно настроить, чтобы тесты проходили в обоих SoapUI и Maven?Плагин Maven SoapUI, тестирование отсутствующих параметров пути
EDIT
Полная ошибка:
16:07:38,672 ERROR [WsdlSubmit] Exception in request: org.apache.commons.httpclient.URIException: escaped absolute path not valid
16:07:38,672 ERROR [SoapUI] An error occured [escaped absolute path not valid], see error log for details
org.apache.commons.httpclient.URIException: escaped absolute path not valid
at org.apache.commons.httpclient.URI.setRawPath(URI.java:2837)
at org.apache.commons.httpclient.URI.parseUriReference(URI.java:2023)
at org.apache.commons.httpclient.URI.<init>(URI.java:147)
at org.apache.commons.httpclient.HttpMethodBase.getURI(HttpMethodBase.java:265)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:383)
at com.eviware.soapui.impl.wsdl.submit.transports.http.HttpClientRequestTransport.sendRequest(HttpClientRequestTransport.java:194)
at com.eviware.soapui.impl.wsdl.WsdlSubmit.run(WsdlSubmit.java:123)
at com.eviware.soapui.impl.wsdl.WsdlSubmit.submitRequest(WsdlSubmit.java:76)
at com.eviware.soapui.impl.rest.RestRequest.submit(RestRequest.java:208)
at com.eviware.soapui.impl.wsdl.teststeps.RestTestRequestStep.run(RestTestRequestStep.java:753)
at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.runTestStep(WsdlTestCaseRunner.java:207)
at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:138)
at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:39)
at com.eviware.soapui.impl.wsdl.support.AbstractTestRunner.run(AbstractTestRunner.java:139)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:679)
16:07:38,673 INFO [SoapUIProTestCaseRunner] Assertion [Match content of [Fault]] has status UNKNOWN
Не могли бы вы добавить код для теста, который не прошел? – ssedano
Я попытаюсь добавить код позже, VPNing отсюда в значительной степени разрушает мою способность достигать любого хоста. Но это в основном, если (requiredPathParameter == null) {throw buildInformativeExceptionHere («Отсутствует требуемый параметр», параметр). Проблема заключается в том, что данный параметр является частью вызова REST API и отсутствует. –
Добавить -X в линию maven (отладить), затем посмотреть фазовый выход – ssedano