- 모든 서비스 메서드 시그니처를 실제 구현에 맞게 수정 - TestDataGenerator 제거하고 직접 객체 생성으로 변경 - 모델 필드명 및 타입 불일치 수정 - 불필요한 Either 패턴 사용 제거 - null safety 관련 이슈 해결 수정된 파일: - test/integration/screens/company_integration_test.dart - test/integration/screens/equipment_integration_test.dart - test/integration/screens/user_integration_test.dart - test/integration/screens/login_integration_test.dart
105 lines
2.9 KiB
Bash
Executable File
105 lines
2.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# SUPERPORT 마스터 테스트 스위트 실행 스크립트
|
|
#
|
|
# 사용법:
|
|
# ./run_master_test_suite.sh # 기본 실행 (병렬 모드)
|
|
# ./run_master_test_suite.sh --sequential # 순차 실행
|
|
# ./run_master_test_suite.sh --include License # 특정 화면만 테스트
|
|
# ./run_master_test_suite.sh --exclude Company # 특정 화면 제외
|
|
# ./run_master_test_suite.sh --verbose # 상세 로그 출력
|
|
|
|
echo "======================================================"
|
|
echo "🚀 SUPERPORT 마스터 테스트 스위트 실행"
|
|
echo "======================================================"
|
|
echo ""
|
|
|
|
# 현재 디렉토리 저장
|
|
CURRENT_DIR=$(pwd)
|
|
|
|
# 프로젝트 루트로 이동
|
|
cd "$(dirname "$0")/../../.." || exit 1
|
|
|
|
# 테스트 리포트 디렉토리 생성
|
|
mkdir -p test_reports
|
|
|
|
# 이전 테스트 결과 백업
|
|
if [ -d "test_reports" ]; then
|
|
BACKUP_DIR="test_reports_backup_$(date +%Y%m%d_%H%M%S)"
|
|
echo "📁 이전 테스트 결과를 백업합니다: $BACKUP_DIR"
|
|
mv test_reports "$BACKUP_DIR" 2>/dev/null || true
|
|
mkdir -p test_reports
|
|
fi
|
|
|
|
# 시작 시간 기록
|
|
START_TIME=$(date +%s)
|
|
|
|
echo "🔧 테스트 환경 준비 중..."
|
|
echo ""
|
|
|
|
# Flutter 패키지 업데이트
|
|
echo "📦 Flutter 패키지 업데이트..."
|
|
flutter pub get
|
|
|
|
echo ""
|
|
echo "🧪 마스터 테스트 스위트 실행..."
|
|
echo "======================================================"
|
|
|
|
# 테스트 실행
|
|
flutter test test/integration/automated/master_test_suite.dart \
|
|
--reporter json > test_reports/test_output.json 2>&1 &
|
|
|
|
TEST_PID=$!
|
|
|
|
# 진행 상황 모니터링
|
|
while kill -0 $TEST_PID 2>/dev/null; do
|
|
echo -n "."
|
|
sleep 1
|
|
done
|
|
|
|
echo ""
|
|
|
|
# 테스트 프로세스 종료 상태 확인
|
|
wait $TEST_PID
|
|
TEST_EXIT_CODE=$?
|
|
|
|
# 종료 시간 기록
|
|
END_TIME=$(date +%s)
|
|
DURATION=$((END_TIME - START_TIME))
|
|
|
|
echo ""
|
|
echo "======================================================"
|
|
echo "📊 테스트 실행 완료"
|
|
echo "======================================================"
|
|
echo "⏱️ 총 소요시간: ${DURATION}초"
|
|
echo ""
|
|
|
|
# 테스트 결과 확인
|
|
if [ $TEST_EXIT_CODE -eq 0 ]; then
|
|
echo "✅ 모든 테스트가 성공했습니다!"
|
|
else
|
|
echo "❌ 일부 테스트가 실패했습니다. (Exit code: $TEST_EXIT_CODE)"
|
|
fi
|
|
|
|
echo ""
|
|
echo "📄 생성된 리포트:"
|
|
echo "======================================================"
|
|
|
|
# 생성된 리포트 파일 목록 표시
|
|
if [ -d "test_reports" ]; then
|
|
find test_reports -name "*.md" -o -name "*.html" -o -name "*.json" | while read -r file; do
|
|
echo " • $file"
|
|
done
|
|
fi
|
|
|
|
echo ""
|
|
echo "💡 리포트를 보려면:"
|
|
echo " - HTML: open test_reports/master_test_report_*.html"
|
|
echo " - Markdown: cat test_reports/master_test_report_*.md"
|
|
echo " - JSON: cat test_reports/master_test_report_*.json"
|
|
echo ""
|
|
|
|
# 원래 디렉토리로 복귀
|
|
cd "$CURRENT_DIR" || exit 1
|
|
|
|
exit $TEST_EXIT_CODE |