Files
2025-11-30 08:23:23 +08:00

67 lines
2.8 KiB
YAML

# Regression Test Tracker Plugin Configuration
# Database settings (for storing test results and history)
database:
type: "sqlite" # Options: sqlite, postgresql, mysql, etc.
connection_string: "regression_tests.db" # REPLACE_ME: Database connection string
# Example PostgreSQL connection string:
# connection_string: "postgresql://user:password@host:port/database"
# Test execution settings
test_execution:
runner: "pytest" # REPLACE_ME: Test runner command (e.g., pytest, unittest)
test_directory: "tests" # Directory containing test files
pattern: "test_*.py" # Pattern to identify test files
concurrency: 4 # Number of parallel test processes
timeout: 60 # Timeout in seconds for each test
retry_attempts: 2 # Number of retry attempts for failed tests
report_format: "xml" # Test report format (e.g., xml, json, html)
report_file: "test_report.xml" # Path to the generated test report
# Regression test suite definition
regression_suite:
tags: # List of tags to identify regression tests
- "regression"
- "critical"
# Optionally, specify specific test files or directories to include/exclude
include_paths: # Paths to include in the regression test suite. Leave empty to include all tests tagged above.
- "tests/important_feature_tests"
exclude_paths: # Paths to exclude from the regression test suite.
- "tests/experimental_tests"
# Change impact analysis settings
change_impact:
vcs: "git" # Version control system (e.g., git, mercurial)
# Command to get list of changed files since last regression test run.
# REPLACE_ME: You might need to customize this based on your workflow.
changed_files_command: "git diff --name-only HEAD^ HEAD"
mapping: # Mapping between files and affected tests
"src/feature_a.py": # Example: if feature_a.py is changed, run these tests
- "tests/test_feature_a.py::test_function_1"
- "tests/test_integration.py::test_feature_a_integration"
"src/common_utils.py": # Example: If a common utility file changes, run a broad suite of tests
- "tests/test_all.py"
# Flaky test detection settings
flaky_test_detection:
enabled: true # Enable flaky test detection
failure_threshold: 3 # Number of failures within a window to consider a test flaky
window_size: 10 # Number of test runs to consider for flaky test detection
# Notification settings (e.g., Slack, email)
notifications:
enabled: false # Enable notifications
type: "slack" # Notification type (e.g., slack, email)
webhook_url: "YOUR_VALUE_HERE" # REPLACE_ME: Slack webhook URL
# OR email settings
# email:
# sender: "test_tracker@example.com"
# recipient: "developers@example.com"
# smtp_server: "smtp.example.com"
# smtp_port: 587
# smtp_username: "YOUR_VALUE_HERE"
# smtp_password: "YOUR_VALUE_HERE"
# Advanced settings
advanced:
debug_mode: false # Enable debug mode for verbose logging