Overview
This comprehensive guide covers testing nf-core components using nf-test. This guide provides everything needed to create robust, maintainable tests for modules, subworkflows, and pipelines, from writing your first test to implementing advanced patterns.
Guide structure
Getting started
- Installation - Setting up nf-test in your development environment
- Project setup - Configuring your nf-core pipeline repository for testing with nf-test
Component Testing
- Testing modules - Testing individual nf-core modules
- Testing subworkflows - Testing nf-core subworkflows
- Testing pipelines - End-to-end pipeline testing
- nf-test assertions - Comprehensive assertion patterns and verification techniques
Data management and integration
- Test data management - Organizing and managing test datasets
- CI/CD integration - Integrating nf-test with continuous integration
Commands and reference
- nf-test commands and integration - Essential commands and nf-core integration
Troubleshooting & Best Practices
- FAQ and Debugging - Best practices, common issues, and solutions for nf-test
nf-core testing principles
nf-core testing follows these key principles:
- Comprehensive coverage: Every module, subworkflow, and pipeline should have tests
- Efficient test data: Tests use small, centralized datasets from nf-core/test-datasets
- Snapshot testing: Output verification through snapshots ensures consistency
- CI/CD ready: Tests run reliably in automated environments
- Standard patterns: Consistent testing patterns across all nf-core components
Getting help
For issues not covered in this guide:
- Browse examples: nf-core/methylseq, nf-core/sarek tests for current best practices
- nf-test documentation: Official nf-test docs
- Community support: nf-core Slack
#nf-test
channel - nf-core modules: GitHub repository for examples
Ready to get started? Begin with Installation to set up nf-test in your development environment.