Piszę pakiet regresji dla interfejsów API za pomocą SCALATEST, jestem trochę zakleszczony w następującym scenariuszu: Na przykład mam dwa testy:
test-1 { Zadzwoń po API-1 Zadzwoń po API-2 Zadzwoń po API-3 }
test-2 { Zadzwoń po API-5 Zadzwoń po API-6 Zadzwoń po API-7 }
Utworzyłem uogólnioną funkcję API wywołań. Skonfigurowałem osobne pliki JSON dla identyfikatora URI, metody, treści i nagłówków.
Teraz moje pytanie jest takie, że ponieważ wszystkie te połączenia będą asynchroniczne i będą odzyskiwać przyszłe wyniki, jednym ze sposobów postępowania, o którym wiem, jest płaska mapa / lub For w ramach jednego testu.
Ale co z drugim testem, czy muszę blokować głównywątek tutaj lub istnieje jakieś inteligentne rozwiązanie tego. Nie mogę sobie pozwolić na jednoczesne uruchamianie wielu spraw z powodu wzajemnych zależności od zasobów, których będą używać.
Odpowiedzi:
1 dla odpowiedzi № 1Lepiej, aby twoje testy były wykonywane sekwencyjnie, w tym celu zapoznaj się z skalowaniem podręcznik użytkownika jak sobie radzić Future
s
Gra zapewni także narzędzia do obsługi Future
, użycie opisano w dokumentacja testowa