| TestNew | Basic middleware initialization | Middleware creation succeeds and processes requests |
| TestMetricsEndpoint | Metrics endpoint functionality | Returns metrics in Prometheus format with http_requests_total and http_request_duration_seconds |
| TestRequestCounter | Request counting accuracy | TotalRequests() returns correct count after multiple requests |
| TestDifferentStatusCodes | Status code labeling | Metrics include separate labels for different status codes (200, 500) |
| TestNamespace | Namespace/subsystem prefixing | Metric names include configured namespace and subsystem prefixes |
| TestSkipPaths | Path skipping functionality | Requests to skipped paths are not recorded in metrics |
| TestHistogramBuckets | Custom histogram buckets | Metrics include custom bucket values in histogram output |
| TestActiveRequests | Active requests gauge | ActiveRequests() returns 0 when no requests are in flight |
| TestRegisterEndpoint | Custom metrics path registration | RegisterEndpoint() registers handler at custom path |
| TestExportFormat | Prometheus format compliance | Output includes HELP, TYPE comments, buckets, sum, and count |
| TestResponseSizeTracking | Response size metrics | Metrics include http_response_size_bytes for responses |
| TestMethodLabels | HTTP method labeling | Metrics include separate labels for different HTTP methods (GET, POST) |