Stage 4
This commit is contained in:
67
Makefile
67
Makefile
@@ -27,7 +27,7 @@ help: ## Показать это сообщение
|
||||
# ============================================================================
|
||||
compile: ## Скомпилировать проект
|
||||
@echo "Компиляция проекта..."
|
||||
@$(REBAR3) compile
|
||||
@$(REBAR3) clean compile
|
||||
@echo "✓ Компиляция завершена"
|
||||
|
||||
clean: ## Очистить проект
|
||||
@@ -57,6 +57,21 @@ run: ## Запустить приложение (foreground)
|
||||
@echo "Запуск приложения..."
|
||||
@$(REBAR3) shell --sname $(SNAME)
|
||||
|
||||
test-server: ## Запустить тестовый сервер в фоне
|
||||
@echo "Cleaning old data..."
|
||||
@rm -rf Mnesia.*
|
||||
@pkill -f "beam.*eventhub_test" 2>/dev/null || true
|
||||
@echo "Starting server..."
|
||||
@rebar3 shell --sname eventhub_test </dev/null > /tmp/eventhub_test.log 2>&1 &
|
||||
@echo "PID: $$!"
|
||||
@for i in 1 2 3 4 5 6 7 8 9 10; do \
|
||||
if curl -s http://localhost:8080/health | grep -q "ok"; then \
|
||||
echo "✓ Server ready at http://localhost:8080"; \
|
||||
break; \
|
||||
fi; \
|
||||
sleep 1; \
|
||||
done
|
||||
|
||||
stop: ## Остановить приложение
|
||||
@echo "Остановка приложения..."
|
||||
@pkill -f "rebar3 shell --sname $(SNAME)" || true
|
||||
@@ -72,27 +87,52 @@ test: eunit ## Запустить все тесты (алиас для eunit)
|
||||
|
||||
eunit: ## Запустить EUnit тесты
|
||||
@echo "Запуск EUnit тестов..."
|
||||
@pkill -f "beam.*$(SNAME)" 2>/dev/null || true
|
||||
@$(REBAR3) eunit --sname $(SNAME)_test
|
||||
|
||||
eunit-module: ## Запустить тесты для модуля (make eunit-module MODULE=core_calendar_tests)
|
||||
@echo "Запуск тестов для модуля $(MODULE)..."
|
||||
@pkill -f "beam.*$(SNAME)" 2>/dev/null || true
|
||||
@$(REBAR3) eunit --sname $(SNAME)_test --module=$(MODULE)
|
||||
|
||||
eunit-verbose: ## Запустить EUnit тесты с подробным выводом
|
||||
@echo "Запуск EUnit тестов (verbose)..."
|
||||
@pkill -f "beam.*$(SNAME)" 2>/dev/null || true
|
||||
@$(REBAR3) eunit --sname $(SNAME)_test --verbose
|
||||
|
||||
test-api: ## Запустить API тесты
|
||||
@echo "Запуск API тестов..."
|
||||
@if ! curl -s http://localhost:8080/health > /dev/null 2>&1; then \
|
||||
echo "✗ Сервер не запущен. Выполните 'make run' в другом терминале"; \
|
||||
exit 1; \
|
||||
fi
|
||||
test-search-unit: ## Запустить unit-тесты поиска
|
||||
@echo "Запуск unit-тестов поиска (logic)..."
|
||||
@$(REBAR3) eunit --sname test_search1 --module=logic_search_tests
|
||||
|
||||
test-search-handler: ## Запустить handler тесты поиска
|
||||
@echo "Запуск handler тестов поиска..."
|
||||
@$(REBAR3) eunit --sname test_search2 --module=handler_search_tests
|
||||
|
||||
test-api: ## Запустить API тесты (авто-запуск сервера)
|
||||
@./test/scripts/run_tests.sh
|
||||
|
||||
test-full: ## Полный цикл тестирования
|
||||
@./test/scripts/run_tests.sh $(PATTERN)
|
||||
|
||||
test-full-search: ## Полный цикл для поиска
|
||||
@./test/scripts/run_tests.sh search
|
||||
|
||||
test-full-booking: ## Полный цикл для бронирований
|
||||
@./test/scripts/run_tests.sh booking
|
||||
|
||||
test-api-existing: ## Запустить API тесты на уже работающем сервере
|
||||
@chmod +x test/scripts/*.sh
|
||||
@cd test/scripts && ./test_all.sh
|
||||
@cd test/scripts && ./test_runner.sh -s $(PATTERN)
|
||||
|
||||
test-server-stop: ## Остановить тестовый сервер
|
||||
@pkill -f "beam.*eventhub" 2>/dev/null || true
|
||||
@echo "✓ Servers stopped"
|
||||
@rm -rf Mnesia.* 2>/dev/null || true
|
||||
|
||||
test-runner: ## Запустить тесты с фильтром (make test-runner PATTERN=booking)
|
||||
@chmod +x test/scripts/*.sh
|
||||
@cd test/scripts && ./test_runner.sh $(PATTERN)
|
||||
|
||||
test-quick: ## Запустить тесты используя уже запущенный сервер
|
||||
@chmod +x test/scripts/*.sh
|
||||
@cd test/scripts && ./test_runner.sh -s $(PATTERN)
|
||||
|
||||
test-auth: ## Запустить тесты аутентификации
|
||||
@chmod +x test/scripts/test_auth_api.sh
|
||||
@@ -110,7 +150,9 @@ test-booking: ## Запустить тесты бронирований
|
||||
@chmod +x test/scripts/test_booking_api.sh
|
||||
@./test/scripts/test_booking_api.sh
|
||||
|
||||
test-all: eunit test-api ## Запустить ВСЕ тесты (EUnit + API)
|
||||
test-all: eunit ## Запустить ВСЕ тесты (EUnit + API)
|
||||
@sleep 1
|
||||
make test-api
|
||||
@echo "========================================"
|
||||
@echo " ВСЕ ТЕСТЫ ПРОЙДЕНЫ!"
|
||||
@echo "========================================"
|
||||
@@ -130,7 +172,6 @@ xref: ## Запустить Xref (кросс-ссылки)
|
||||
|
||||
cover: ## Запустить тесты с покрытием кода
|
||||
@echo "Запуск тестов с покрытием..."
|
||||
@pkill -f "beam.*$(SNAME)" 2>/dev/null || true
|
||||
@$(REBAR3) eunit --sname $(SNAME)_test --cover
|
||||
@$(REBAR3) cover --verbose
|
||||
@echo "✓ Отчёт о покрытии в _build/test/cover/"
|
||||
|
||||
Reference in New Issue
Block a user