Jaka jest przewaga testowania API webowego nad testowaniem serwisów warstwy aplikacji? Chodzi mi o:
-
Client.Get("/api/users/1")
vs -
UserModule.ExecuteCommandAsync(new GetUser(1))
.
W podejściu 1 możemy przetestować, czy działa autoryzacja i walidacja, ale jeśli np. wykorzystujemy wzorzec mediator i pipeline'y, to walidację możemy też przetestować też w podejściu 2. Mam wrażenie, że przy podejściu 2 jest mniej magii. Widzę na githubie, że często ludzie robią albo (1), albo (2), a czy nie powinno się tych podejść łączyć?
Testy integracyjne (2) w https://github.com/kgrzybek/modular-monolith-with-ddd wyglądają na wiarygodne imo.