Browse Source

Document contributing tests to Godot's C++ codebase

This partially addresses
https://github.com/godotengine/godot-proposals/issues/1586.
Hugo Locurcio 4 years ago
parent
commit
8a84b3cfd3
1 changed files with 23 additions and 0 deletions
  1. 23 0
      CONTRIBUTING.md

+ 23 - 0
CONTRIBUTING.md

@@ -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