Expand description
§Rust Test Quality Analysis Module
Provides comprehensive analysis of Rust test code quality, detecting patterns that indicate potential issues in test suites.
§Components
- analyzer: Main orchestrator for Rust test analysis
- assertion_detector: Detects missing or weak assertions
- complexity_scorer: Measures test complexity
- flaky_detector: Identifies flaky test patterns
- framework_detector: Detects test frameworks (std, criterion, proptest, rstest)
- test_classifier: Classifies tests by type
§Test Quality Metrics
§Assertion Analysis
- Counts assertions per test (
assert!,assert_eq!,assert_ne!) - Detects tests with no assertions
- Identifies Result-based tests
- Tracks
\[should_panic\]usage
§Complexity Scoring
- Conditional statements: +2 per if/match
- Loops: +3 per loop
- Assertions: +1 per assertion beyond 5
- Nesting depth: +2 per level > 2
- Line count: +(lines-30)/10 for tests > 30 lines
§Flaky Pattern Detection
- Timing:
std::thread::sleep,Instant::now() - Random:
randcrate usage - External: Network calls, filesystem hardcoded paths
- Threading: Unsynchronized concurrent access
- Hash ordering: HashMap iteration
§Framework Detection
- Standard
\[test\]attribute - Criterion benchmarks
- Proptest property tests
- Rstest parameterized tests
Modules§
Structs§
- Rust
Test Quality Issue - Rust test quality issue
Enums§
- Rust
Assertion Type - Rust-specific assertion types
- Rust
Flakiness Type - Flaky pattern types specific to Rust
- Rust
Test Framework - Rust test framework types
- Rust
Test Issue Type - Types of test quality issues
- Rust
Test Severity - Test quality issue severity
- Rust
Test Type - Types of Rust tests
Functions§
- convert_
rust_ test_ issue_ to_ debt_ item - Convert Rust test quality issue to debt item