euroargodev / euroargodev/software_guidelines

The software is tested and implements continuous integration

Open
#52 0 comments 0 reactions 0 assignees View on GitHub
guideline
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.