Eu estou escrevendo um conjunto de regressão para APIs usando SCALATEST, estou meio preso com o seguinte cenário: Por exemplo, eu tenho dois testes:
test-1 { Chamada para API-1 Ligue para a API-2 Ligue para a API-3 }
test-2 { Ligue para o API-5 Ligue para a API-6 Ligue para a API-7 }
Eu criei uma função generalizada para chamar APIs. Eu configurei arquivos JSON separados para URI, método, corpo e cabeçalhos.
Agora, minha pergunta é que, como todas essas chamadas serão assíncronas, e receberão resultados futuros, uma maneira de lidar com o que sei é flatmap / ou dentro de um teste.
Mas e quanto ao 2º teste, preciso bloquear o principalthread aqui ou ali é alguma solução inteligente para isso. Eu não posso dar ao luxo de executar vários casos em paralelo devido a interdependências nos recursos que eles usarão.
Respostas:
1 para resposta № 1É melhor que os seus testes sejam executados sequencialmente, para isto, por favor consulte o escalar guia de usuario sobre como lidar com Future
s
O jogo também fornecerá alguns utilitários para lidar com Future
, o uso é descrito no documentação de testes