Usando fitnesse para testar APIs RESTful usando Restfixture e namespaces anônimos

StackOverflow https://stackoverflow.com/questions/4606615

  •  25-09-2019
  •  | 
  •  

Pergunta

Estou pensando em usar o Fitnese para escrever alguns testes de aceitação para algumas extensões para uma API RESTful. A resposta GET inclui XML em um espaço de nome anônimo, por exemplo,

<?xml version="1.0" encoding="utf-8"?>
<things xmlns="http://example.com/ns/">
<thing id="1"/>
<thing id="2"/>
</things>

O Fitnesse Fixture Restfixture parece um bom candidato para isso. Deve -me permitir que eu execute um XPath para verificar a resposta, mas isso não parece jogar bem com namespaces anônimos. O teste a seguir falhará porque precisa do espaço para nome especificar:

|!-smartrics.rest.fitnesse.fixture.RestFixture-!|http://example.com/v1.0/inbox |
|GET    | /things | 200 | | //thing |

Não consigo encontrar como expressar o XPath, de modo que o Restfixture o analise com sucesso.

Algumas anotações:

(a) Você pode consultar atributos porque eles não estão em um espaço para nome. Os seguintes passes:

|GET    | /things | 200 | | //@id |

(b) Um exemplo em outro lugar sugerido usando a correspondência de strings. Isso está errado - os seguintes passes também!

|GET    | /things | 200 | | 'complete and utter nonsense' |
Foi útil?

Solução

Restfixture agora suporta namespaces. Você precisa definir o contexto do espaço para nome como um mapa de valor chave do alias/uri de namespace usando o RESTFIXTURECONFIG (isso também deve incluir um alias para o espaço para nome padrão).

Em seguida, você pode usar os aliases definidos nos XPaths que correspondem ao corpo de resposta de uma solicitação ou no comando let () para extrair dados da resposta.

Um exemplo está incluído na documentação ao vivo da Fixture Rest:

https://github.com/smartrics/restfixture/downloads (verifique o para download html restfixture-u003Cver> .html

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top