So for me pipeline tests can and should be streamlined.
I love nf-test for unit testing, and I think this works really well for testing modules and processes but for pipeline tests, I think we can do better.
I explored some ideas in sarek, rnavar and seqinspector.
The idea is similar to how we used to write pipeline tests with pytest.
Basically, to run the pipeline tests, we would just need a list of params and an eventual config file and/or profile.
For now, I have been using a custom lib, but I think we can easily modularize this and make it available for everyone.
The full and last updated logic is currently in sarek tests/lib/UTILS.groovy.
I'm making some improvements after comments and ports in both rnavar and seqinspector, cf nf-core/sarek#2167 and I have a feeling this file is becoming quite stable.
And I would love to help other people use this in an easier setup.
I think what we're missing is proper tag exclusion from nf-test (cf askimed/nf-test#260) before really pushing forward
But once we have that, I just need to figure out how to modularize these parts:
So for me pipeline tests can and should be streamlined.
I love nf-test for unit testing, and I think this works really well for testing modules and processes but for pipeline tests, I think we can do better.
I explored some ideas in sarek, rnavar and seqinspector.
The idea is similar to how we used to write pipeline tests with pytest.
Basically, to run the pipeline tests, we would just need a list of params and an eventual config file and/or profile.
For now, I have been using a custom lib, but I think we can easily modularize this and make it available for everyone.
The full and last updated logic is currently in sarek tests/lib/UTILS.groovy.
I'm making some improvements after comments and ports in both rnavar and seqinspector, cf nf-core/sarek#2167 and I have a feeling this file is becoming quite stable.
And I would love to help other people use this in an easier setup.
I think what we're missing is proper tag exclusion from nf-test (cf askimed/nf-test#260) before really pushing forward
But once we have that, I just need to figure out how to modularize these parts: