Maneira correta para testar Foxx apps em ArangoDB
Pergunta
Eu gostaria de saber o que é suposto ser a forma adequada para testar Foxx aplicações em ArangoDB.Meu projeto de estrutura (simplificada) é algo como o seguinte:
/frontend /* AngularJS webapp */
/backend /* Foxx controllers, models and repositories */
manifest.json
Para o frontend eu estou usando Karma/Jasmine com sucesso, mas estou tendo problemas ao tentar testar o Foxx controladores.
Mais concretamente, o que eu gostaria de fazer é testar alguns pontos de extremidade e verificar se eles fazem o que eles visam, basicamente, as operações de CRUD.Para isso, eu seria realmente precisa ter acesso ao ArangoDB instância por vários motivos:limpar o banco de dados de teste, pré-preencher com dados de teste, etc.
Qual deve ser o caminho a percorrer neste caso?Isso é mesmo possível?
Solução
Existem duas maneiras de lidar com isso:
- Fazer um full stack HTTP teste de API do Foxx app
- Fazer testes de unidade das diferentes partes do Foxx app
A primeira coisa é possível, e eu já fiz que para Foxx apps.Gostaria de sugerir a realização de que, como o API é o contrato entre o frontend e backend.Eu acho que ele também está mais perto do que você descreveu.
A segunda coisa que realmente não é possível agora, mas a Foxx equipe está a trabalhar nisso e vai ser possível no futuro próximo.
Para uma web API de teste que eu uso pessoalmente Pepino usando o Ruby driver Ashikawa::Núcleo De para truncar as coleções antes de executar o conjunto de testes.No entanto, é possível testar a API de qualquer framework de teste de você como se você combiná-lo com um cliente HTTP.