В нашей системе есть SOAP-методы и есть автотесты на них. В автотестах применяются файлики transform.xslt — чтобы можно было переформатировать ожидаемый результат и проверять только те поля, которые нужны нам в данном тесте.
См также:
Folks — open-source проект с API-тестами на Java → там есть пример автотеста на SOAP с transform.xslt
Эволюция нашего использования XSLT в SOAP-тестах → подробнее про наши тесты
Формат записи у нас примерно такой. Вначале идет перечисление полей, которые я хочу увидеть в ответе
<xsl:variable name="fieldsToCopy">
|surname|name|patronymic|fullNameRawSource|fullNameQC|
fioTrusted|birthdateTrusted|innTrusted|snilsTrusted|
</xsl:variable>
А потом мы указываем, что нам нужны все поля переменной fieldsToCopy через contains
<xsl:apply-templates select="cdi:field[contains($fieldsToCopy, @name)]">
<xsl:sort select="@name"/>
</xsl:apply-templates>
Так вот, запускаю я тест, он падает, ожидаемый ответ не совпадает с моим. Смотрю, почему — в actual_transformed_response.xml вижу дополнительные поля: inn и snils
См также:
Folks — open-source проект с API-тестами на Java → там есть пример автотеста на SOAP с transform.xslt
Эволюция нашего использования XSLT в SOAP-тестах → подробнее про наши тесты
Формат записи у нас примерно такой. Вначале идет перечисление полей, которые я хочу увидеть в ответе
<xsl:variable name="fieldsToCopy">
|surname|name|patronymic|fullNameRawSource|fullNameQC|
fioTrusted|birthdateTrusted|innTrusted|snilsTrusted|
</xsl:variable>
А потом мы указываем, что нам нужны все поля переменной fieldsToCopy через contains
<xsl:apply-templates select="cdi:field[contains($fieldsToCopy, @name)]">
<xsl:sort select="@name"/>
</xsl:apply-templates>
Так вот, запускаю я тест, он падает, ожидаемый ответ не совпадает с моим. Смотрю, почему — в actual_transformed_response.xml вижу дополнительные поля: inn и snils