integration-test-development
Summary
Develop and execute integration tests to validate that parsed mass spectrometry raw data files (mzML format) correctly map metadata, spectral arrays, and quantitative fields into a software's internal data structures. This skill ensures reproducibility and correctness of file format ingestion pipelines across build configurations and CI/CD environments.
When to use
When you have implemented or modified a data ingestion module (e.g., mzML parser) and need to verify that file deserialization produces correct internal representations. Specifically, when peak counts, mass accuracy, retention time values, instrument metadata, m/z arrays, and intensity arrays must match reference expectations from the source file without vendor-specific SDK dependencies.
When NOT to use
- Input is proprietary vendor format (ABF, RAW, D folder) — unit testing for vendor SDKs is not currently set up; use only for mzML, CDF, or ABF formats supported in vendor unsupported mode.
- Partial or stub functionalities without full parser implementation — unit testing infrastructure for partial functionalities is not currently set up for trial.
- Testing requires reproducible builds across configurations other than version 5 series — only the version 5 series of MS-DIAL has reproducible builds that can be guaranteed openly.
Inputs
- mzML-format raw data file (reference file with known metadata and spectral characteristics)
- Implemented mzML parser module (source code or compiled library)
- Build environment configuration (.NET Framework 4.7.2 or .NET 6, Visual Studio or VSCode)
Outputs
- Integration test suite (unit tests targeting parser output)
- Test execution report (pass/fail per assertion, coverage summary)
- CI/CD build log with test results from GitHub Actions
- Validated internal data structure instances (parsed mzML objects)
How to apply
Load a reference mzML file using the implemented parser and extract parsed metadata (instrument type, acquisition parameters) and spectral arrays (m/z values, intensity values). Write test assertions that compare parsed peak counts, mass accuracy (typically ±5 ppm tolerance for Orbitrap or similar instruments), and retention time fields against expected ground-truth values from the reference file. Group tests by data category (metadata, peak properties, array consistency) and execute them via the CI/CD pipeline (GitHub Actions) against the version 5 series build configuration to ensure reproducibility. Verify that tests pass on both Debug vendor unsupported and Release configurations where applicable.
Related tools
- GitHub Actions (CI/CD pipeline execution environment for running integration tests via the dotnet_test.yml workflow) — https://github.com/systemsomicslab/MsdialWorkbench
- .NET Framework 4.7.2 / .NET 6 (Runtime and language framework for compiling and executing parser and test code)
- Visual Studio 2022 (IDE for writing, debugging, and locally executing integration tests before CI/CD submission)
- MS-DIAL MsdialWorkbench repository (Source code repository containing mzML parser implementation, test frameworks, and build recipes) — https://github.com/systemsomicslab/MsdialWorkbench
Evaluation signals
- All test assertions pass: parsed peak count equals reference count (exact match), mass accuracy falls within tolerance (e.g., ±5 ppm for reference m/z values), retention time fields match reference to within ±0.1 minute.
- Metadata extraction correctness: instrument type, acquisition parameters, and scan-level metadata are correctly deserialized and stored in internal structures without null or default-value artifacts.
- Spectral array consistency: m/z array and intensity array lengths match, m/z values are monotonically increasing or in expected order, intensity values are non-negative and finite.
- CI/CD reproducibility: test suite executes successfully on GitHub Actions runner under version 5 series configuration; build log shows no warnings related to parser deserialization.
- No vendor SDK dependencies: tests pass using only mzML format input and do not invoke proprietary vendor libraries or require runtime flags for vendor format support.
Limitations
- Unit testing infrastructure for partial functionalities is not currently set up for trial; tests must target complete, functional parser implementations.
- Public version (vendor unsupported) cannot validate against proprietary raw data formats (ABF, RAW, D folders); tests are limited to mzML, CDF, and Reifycs ABF formats.
- Only version 5 series of MS-DIAL has reproducible builds that can be guaranteed openly; tests should target this version to ensure reproducibility across contributors.
- Mass accuracy thresholds and peak-matching tolerances are not explicitly specified in the documentation; practitioners must define these based on their instrument specifications and may need empirical calibration.
- Integration tests verify parser correctness but do not validate downstream metabolomics or lipidomics analysis steps; they focus solely on data ingestion and internal structure population.
Evidence
- [other] Write integration tests to check that parsed peak counts, mass accuracy, and retention time fields match expected values from the reference mzML file.: "Write integration tests to check that parsed peak counts, mass accuracy, and retention time fields match expected values from the reference mzML file."
- [other] Load a sample mzML file using the implemented parser and verify that metadata (instrument type, acquisition parameters) and spectral arrays (m/z values, intensity values) are correctly mapped to the internal structures.: "Load a sample mzML file using the implemented parser and verify that metadata (instrument type, acquisition parameters) and spectral arrays (m/z values, intensity values) are correctly mapped to the"
- [other] Execute tests via GitHub Actions CI/CD pipeline to ensure reproducibility on the version 5 series build.: "Execute tests via GitHub Actions CI/CD pipeline to ensure reproducibility on the version 5 series build."
- [readme] only the version 5 series of MS-DIAL has reproducible builds that can be guaranteed openly: "only the version 5 series of MS-DIAL has reproducible builds that can be guaranteed openly"
- [readme] The version we have made public does not utilize the MS vendor's SDK. Please be aware that it only supports input in the mzML format for raw data.: "The version we have made public does not utilize the MS vendor's SDK. Please be aware that it only supports input in the mzML format for raw data."
- [readme] we apologize that the unit testing aspect for partial functionalities is not currently set up for trial: "we apologize that the unit testing aspect for partial functionalities is not currently set up for trial"
1---2name: integration-test-development3description: Use when when you have implemented or modified a data ingestion module (e.g., mzML parser) and need to verify that file deserialization produces correct internal representations.4license: CC-BY-4.05---67# integration-test-development89## Summary1011Develop and execute integration tests to validate that parsed mass spectrometry raw data files (mzML format) correctly map metadata, spectral arrays, and quantitative fields into a software's internal data structures. This skill ensures reproducibility and correctness of file format ingestion pipelines across build configurations and CI/CD environments.1213## When to use1415When you have implemented or modified a data ingestion module (e.g., mzML parser) and need to verify that file deserialization produces correct internal representations. Specifically, when peak counts, mass accuracy, retention time values, instrument metadata, m/z arrays, and intensity arrays must match reference expectations from the source file without vendor-specific SDK dependencies.1617## When NOT to use1819- Input is proprietary vendor format (ABF, RAW, D folder) — unit testing for vendor SDKs is not currently set up; use only for mzML, CDF, or ABF formats supported in vendor unsupported mode.20- Partial or stub functionalities without full parser implementation — unit testing infrastructure for partial functionalities is not currently set up for trial.21- Testing requires reproducible builds across configurations other than version 5 series — only the version 5 series of MS-DIAL has reproducible builds that can be guaranteed openly.2223## Inputs2425- mzML-format raw data file (reference file with known metadata and spectral characteristics)26- Implemented mzML parser module (source code or compiled library)27- Build environment configuration (.NET Framework 4.7.2 or .NET 6, Visual Studio or VSCode)2829## Outputs3031- Integration test suite (unit tests targeting parser output)32- Test execution report (pass/fail per assertion, coverage summary)33- CI/CD build log with test results from GitHub Actions34- Validated internal data structure instances (parsed mzML objects)3536## How to apply3738Load a reference mzML file using the implemented parser and extract parsed metadata (instrument type, acquisition parameters) and spectral arrays (m/z values, intensity values). Write test assertions that compare parsed peak counts, mass accuracy (typically ±5 ppm tolerance for Orbitrap or similar instruments), and retention time fields against expected ground-truth values from the reference file. Group tests by data category (metadata, peak properties, array consistency) and execute them via the CI/CD pipeline (GitHub Actions) against the version 5 series build configuration to ensure reproducibility. Verify that tests pass on both Debug vendor unsupported and Release configurations where applicable.3940## Related tools4142- **GitHub Actions** (CI/CD pipeline execution environment for running integration tests via the dotnet_test.yml workflow) — https://github.com/systemsomicslab/MsdialWorkbench43- **.NET Framework 4.7.2 / .NET 6** (Runtime and language framework for compiling and executing parser and test code)44- **Visual Studio 2022** (IDE for writing, debugging, and locally executing integration tests before CI/CD submission)45- **MS-DIAL MsdialWorkbench repository** (Source code repository containing mzML parser implementation, test frameworks, and build recipes) — https://github.com/systemsomicslab/MsdialWorkbench4647## Evaluation signals4849- All test assertions pass: parsed peak count equals reference count (exact match), mass accuracy falls within tolerance (e.g., ±5 ppm for reference m/z values), retention time fields match reference to within ±0.1 minute.50- Metadata extraction correctness: instrument type, acquisition parameters, and scan-level metadata are correctly deserialized and stored in internal structures without null or default-value artifacts.51- Spectral array consistency: m/z array and intensity array lengths match, m/z values are monotonically increasing or in expected order, intensity values are non-negative and finite.52- CI/CD reproducibility: test suite executes successfully on GitHub Actions runner under version 5 series configuration; build log shows no warnings related to parser deserialization.53- No vendor SDK dependencies: tests pass using only mzML format input and do not invoke proprietary vendor libraries or require runtime flags for vendor format support.5455## Limitations5657- Unit testing infrastructure for partial functionalities is not currently set up for trial; tests must target complete, functional parser implementations.58- Public version (vendor unsupported) cannot validate against proprietary raw data formats (ABF, RAW, D folders); tests are limited to mzML, CDF, and Reifycs ABF formats.59- Only version 5 series of MS-DIAL has reproducible builds that can be guaranteed openly; tests should target this version to ensure reproducibility across contributors.60- Mass accuracy thresholds and peak-matching tolerances are not explicitly specified in the documentation; practitioners must define these based on their instrument specifications and may need empirical calibration.61- Integration tests verify parser correctness but do not validate downstream metabolomics or lipidomics analysis steps; they focus solely on data ingestion and internal structure population.6263## Evidence6465- [other] Write integration tests to check that parsed peak counts, mass accuracy, and retention time fields match expected values from the reference mzML file.: "Write integration tests to check that parsed peak counts, mass accuracy, and retention time fields match expected values from the reference mzML file."66- [other] Load a sample mzML file using the implemented parser and verify that metadata (instrument type, acquisition parameters) and spectral arrays (m/z values, intensity values) are correctly mapped to the internal structures.: "Load a sample mzML file using the implemented parser and verify that metadata (instrument type, acquisition parameters) and spectral arrays (m/z values, intensity values) are correctly mapped to the"67- [other] Execute tests via GitHub Actions CI/CD pipeline to ensure reproducibility on the version 5 series build.: "Execute tests via GitHub Actions CI/CD pipeline to ensure reproducibility on the version 5 series build."68- [readme] only the version 5 series of MS-DIAL has reproducible builds that can be guaranteed openly: "only the version 5 series of MS-DIAL has reproducible builds that can be guaranteed openly"69- [readme] The version we have made public does not utilize the MS vendor's SDK. Please be aware that it only supports input in the mzML format for raw data.: "The version we have made public does not utilize the MS vendor's SDK. Please be aware that it only supports input in the mzML format for raw data."70- [readme] we apologize that the unit testing aspect for partial functionalities is not currently set up for trial: "we apologize that the unit testing aspect for partial functionalities is not currently set up for trial"