This page is the entry point for everything test-related in MTConnect.NET. Per-version compliance matrices, the harness scripts, and the CI workflow are linked from here.
docs/testing/v2-6.md— MTConnect Standard v2.6 compliance matrix.docs/testing/v2-7.md— MTConnect Standard v2.7 compliance matrix.docs/testing/workflows.md— CI workflow + local harness catalog.
Each matrix lists every spec-defined element / attribute / enum value introduced or modified at that version with status (Live / Pending) and the test class that pins it.
The repo organizes tests into three tiers:
- Unit + integration —
tests/<library>-Tests/. Fast (< 30 s on a clean run), runs by default in CI and ontools/test.sh/tools/test.ps1. Filtered byCategory!=XsdLoadStrictso the strict XSD-load gate does not block the green path. - Compliance —
tests/Compliance/MTConnect-Compliance-Tests/. Layered (L1_XsdValidation,L2_CrossImpl); seetests/Compliance/MTConnect-Compliance-Tests/README.md. Opt-in viatools/test.sh --complianceortools/test.ps1 -Compliance. - E2E —
tests/MTConnect.NET-Integration-Tests/+tests/E2E/**. Docker-gated. Opt-in viatools/test.sh --e2eorMTCONNECT_E2E_DOCKER=true.
tools/test.sh(Linux / macOS) —./tools/test.sh --helplists every flag.tools/test.ps1(Windows / cross-platform PowerShell) — same surface astest.sh.tools/dotnet.sh/tools/dotnet.ps1— pinneddotnetSDK invocation; pass--dockerto run inside the SDK container.
GitHub Actions workflow at .github/workflows/dotnet.yml. Matrix builds against ubuntu-latest and windows-latest, .NET 8.0.x + 9.0.x, uploads TRX + Cobertura coverage as artifacts, surfaces a coverage summary in the job log. See docs/testing/workflows.md for the workflow catalog.
tests/coverlet.runsettings is the shared Coverlet configuration. ReportGenerator (pinned via .config/dotnet-tools.json) turns the per-project Cobertura XML into HTML + text summaries under coverage-report/.