euroargodev / euroargodev/software_guidelines
The software is tested and implements continuous integration
- Dominant language
- Python
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
# Tests
Testing your codebase helps:
- Improves software quality and research reliability by catching bugs early, validating functionality, and enabling modular, maintainable code.
- Boosts collaboration and reuse by providing clear expectations, documentation, and confidence for users and contributors.
If you're still not convinced, have a look to this excellent rational: https://carpentries-incubator.github.io/better-research-software/06-code-correctness.html#why-use-software-testing
Testing is fairly accessible to implement, here are some helps/tools for main languages:
- Python:
- https://docs.pytest.org/en/stable/getting-started.html
- https://carpentries-incubator.github.io/better-research-software/06-code-correctness.html
- Matlab: https://www.mathworks.com/help/matlab-test/index.html
- R: https://testthat.r-lib.org/index.html
- Julia: https://www.julia-vscode.org/docs/dev/userguide/testitems/
# Continuous integration
This is about:
- Merge changes back to the main branch as often as possible.
- Run automated tests against the main branch or new build.
The web-based platform where your project is hosted is probably offering a Continuous Integration (CI) service to automatically run every test function in the test code suite every time changes are pushed to a remote repository, see below.
## Examples
Some tutorials/helps on implementing CI on:
- Github: https://carpentries-incubator.github.io/better-research-software/ci-for-testing.html
- Gitlab: https://docs.gitlab.com/ci/testing/
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.