docbrown/docs/tests/readme.md
Jacob Herrington c6c5421163 Javascript automated testing and a11y doc (#4873)
* Add jext-axe package and introduce a11y testing

Automated a11y testing is NOT comprehensive. We cannot expect this to
even scratch the surface of potential a11y issues.

However, we can expect to find a percentage of issues that are currently
flying under the radar. Adopting some automation around a11y testing
also allows us to use CI to find a11y regressions -- which should be
really handy.

I've never really used Jest before, and Preact seems to make it a little
more complicated, but as far as I can tell, this is a decent way to add
at least some minor automated a11y testing.

* Add doc about automated a11y tests
2019-11-22 08:32:01 -05:00

1.9 KiB

title items
Testing / Q&A Guide
acceptance-tests.md
integration-tests.md
unit-functional-tests.md
preact-tests.md
accessibility-tests.md
code-coverage.md
codeclimate.md
skip-ci.md

We use the following testing tools:

Each pull request should come with tests related to the newly written feature or bug fix. Ideally, we should test both the frontend and backend.

If you'd like to help us improve our test coverage, we recommend checking out our total coverage and writing tests for selected files based on SimpleCov's test coverage results. You can also check out Code Climate summary which includes the test coverage.

If you're new to writing tests in general or with Rails, we recommend reading about testing with Rails, RSpec, and Capybara first.

Continuous Integration & Continuous Deployment

We are using Travis for CI and CD. Travis will run a build (in an isolated environment for testing) for every push to this repository.

Keep in mind that a passing build does not necessarily mean the project won't run into any issues. Strive to write good tests for the code you wish to contribute.

Travis will deploy your pull request to production after CI passes and a member of the DEV team has approved it.

Our test suite is not perfect and sometimes a re-run is needed.