diff --git a/Testing.md b/Testing.md index 4ed71de..5e0ce2a 100644 --- a/Testing.md +++ b/Testing.md @@ -1,3 +1,20 @@ +# Automated Unit Tests + +`Terminal.Gui` uses [xunit](https://xunit.net/) for automated unit tests run automatically with Github Actions. + +## Notes + +* Running tests in parallel is disabled because `Application` is a singleton. Do not change those settings. + +## Guidelines for Adding More Tests + +1. Do. Please. Add lots. +2. Structure the tests by class. Name the test classes in the form of `ClassNameTests` and the file `ClassNameTests.cs`. +3. The test functions themselves should have descriptive names like `TestBeginEnd`. +4. IMPORTANT: Remember `Application` is a static class (singleton). You must clean up after your tests by calling `Application.Shutdown`. + +See the README.md in `UnitTests/` for details on how xunit is configured. + ## Standard Regression Tests required before submitting a Pull Request - Ensure a UI Catalog Scenario has been developed that *specifically* exercises the code involved in the PR. This Scenario should explicitly and intentionally exercise the following common functional areas: