Document contributing tests to Godot's C++ codebase

This partially addresses
https://github.com/godotengine/godot-proposals/issues/1586.
This commit is contained in:
Hugo Locurcio 2020-09-30 15:57:34 +02:00
parent 3c441baf6c
commit 8a84b3cfd3
No known key found for this signature in database
GPG Key ID: 39E8F8BE30B0A49C
1 changed files with 23 additions and 0 deletions

View File

@ -135,6 +135,29 @@ If your pull request modifies parts of the code in a non-obvious way, make sure
to add comments in the code as well. This helps other people understand the to add comments in the code as well. This helps other people understand the
change without having to look at `git blame`. change without having to look at `git blame`.
### Write unit tests
When fixing a bug or contributing a new feature, we recommend including unit
tests in the same commit as the rest of the pull request. Unit tests are pieces
of code that compare the output to a predetermined *expected result* to detect
regressions. Tests are compiled and run on GitHub Actions for every commit and
pull request.
Pull requests that include tests are more likely to be merged, since we can have
greater confidence in them not being the target of regressions in the future.
For bugs, the unit tests should cover the functionality that was previously
broken. If done well, this ensures regressions won't appear in the future
again. For new features, the unit tests should cover the newly added
functionality, testing both the "success" and "expected failure" cases if
applicable.
Feel free to contribute standalone pull requests to add new tests or improve
existing tests as well.
See [Unit testing](https://docs.godotengine.org/en/latest/development/cpp/unit_testing.html)
for information on writing tests in Godot's C++ codebase.
### Be nice to the Git history ### Be nice to the Git history
Try to make simple PRs that handle one specific topic. Just like for reporting Try to make simple PRs that handle one specific topic. Just like for reporting