Simplify mobile test architecture and stabilize data setup

This commit is contained in:
2026-04-18 03:27:16 +03:00
parent aaf63cc438
commit 46f3de4d55
17 changed files with 326 additions and 338 deletions
+11 -25
View File
@@ -59,13 +59,7 @@ PowerShell:
$env:DB_URL="jdbc:postgresql://<host>:<port>/<db>"
$env:DB_USER="<db_user>"
$env:DB_PASSWORD="<db_password>"
$env:WISHLISTS_USERNAME="<login_1>"
$env:WISHLISTS_PASSWORD="<password_1>"
$env:GIFTS_USERNAME="<login_2>"
$env:GIFTS_PASSWORD="<password_2>"
$env:RESERVATION_USERNAME="<login_3>"
$env:RESERVATION_PASSWORD="<password_3>"
$env:RESERVATION_OWNER="<login_owner>"
$env:MOBILE_HOST="127.0.0.1"
```
bash:
@@ -73,30 +67,22 @@ bash:
export DB_URL="jdbc:postgresql://<host>:<port>/<db>"
export DB_USER="<db_user>"
export DB_PASSWORD="<db_password>"
export WISHLISTS_USERNAME="<login_1>"
export WISHLISTS_PASSWORD="<password_1>"
export GIFTS_USERNAME="<login_2>"
export GIFTS_PASSWORD="<password_2>"
export RESERVATION_USERNAME="<login_3>"
export RESERVATION_PASSWORD="<password_3>"
export RESERVATION_OWNER="<login_owner>"
export MOBILE_HOST="127.0.0.1"
```
Оба варианта эквивалентны: тесты используют переменные окружения процесса.
Тестовые пользователи зафиксированы в коде (`TestAccount`):
- `user1us` — тест списков желаний;
- `user2us` — тест подарков;
- `user3us` — пользователь, который резервирует подарок;
- `user4us` — пользователь-владелец списка в тесте резервирования.
Для production-подобного запуска используйте шаблон `.env.production.example` и не коммитьте реальные значения в репозиторий.
Тесты запускаются параллельно по классам (2 потока) и распределяются по эмуляторам через очередь.
4. Запустить тесты:
```bash
mvn test
```
Примечание: если нужен запуск только на одном эмуляторе, можно поднять только `wiremock` и `android-emulator-1`, а перед `mvn test` задать:
PowerShell:
```powershell
$env:MOBILE_EMULATORS="android-emulator-1|http://127.0.0.1:4723|Android Emulator"
```
bash:
```bash
export MOBILE_EMULATORS="android-emulator-1|http://127.0.0.1:4723|Android Emulator"
```
Примечание: эмуляторы зафиксированы в enum `TestEmulator` (порты `4723` и `4725`), в конфигурации задается только хост (`MOBILE_HOST`).