docbrown/docs/tests
Vaidehi Joshi d2ef01ecc2
Remove Percy (#8915)
We are no longer using the Percy service, so this code is not required anymore.
Removes the percy agent, the gem, and all references to Percy.snapshot and percy: true.
2020-06-25 11:19:58 -07:00
..
acceptance-tests.md Expand the testing docs (#5112) 2019-12-16 15:16:16 -05:00
accessibility-tests.md Improve the clarity of the docs and fix Prettier config (#4899) 2019-11-26 08:40:53 -05:00
approvals-tests.md Create Approvals test doc (#6821) 2020-03-24 18:50:02 -04:00
code-coverage.md Small update to Test Coverage docs (#8257) 2020-06-04 12:01:12 +02:00
codeclimate.md Improve the clarity of the docs and fix Prettier config (#4899) 2019-11-26 08:40:53 -05:00
frontend-tests.md Upgrade to Preact 10.4.4 (#8739) 2020-06-18 10:07:17 -04:00
integration-tests.md Improve the clarity of the docs and fix Prettier config (#4899) 2019-11-26 08:40:53 -05:00
readme.md Remove Percy (#8915) 2020-06-25 11:19:58 -07:00
regression-tests.md Remove Percy (#8915) 2020-06-25 11:19:58 -07:00
test-flags.md Adds ability to run spec not headlessly (#8844) 2020-06-23 08:37:37 -05:00
unit-functional-tests.md Expand the testing docs (#5112) 2019-12-16 15:16:16 -05:00

title items
Testing/QA Guide
acceptance-tests.md
approvals-tests.md
integration-tests.md
unit-functional-tests.md
frontend-tests.md
accessibility-tests.md
regression-tests.md
code-coverage.md
codeclimate.md
test-flags.md

We use the following testing tools:

We strive to provide tests for each pull request that adds new features or fixes a bug. Ideally, we test the functionality of the frontend and the backed.

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. We also recently added KnapsackPro to our Travis CI setup. KnapsackPro allows us to split up our tests evenly between 3 different jobs(virtual machines). These 3 jobs all run in parallel which helps decrease the time needed to run all of our specs.

If you want more information about your CI job or how long specific specs take to run you can find all of that information on our KnapsackPro public dashboard.

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. If you encounter a "flaky spec" that fails intermittently please open an issue so we can address it. In order to get your test suite to pass after a flaky spec has failed simply retry the individual job that failed rather than the entire suite in order to save some time. When you retry the individual job, make sure to also retry the Deploy job. Even though you may not be deploying that job must complete for the entire build to pass.

Please note that you will need to have Elasticsearch installed and running for certain tests in our test suite. You can find instructions on how to install and run Elasticsearch specific your environment in the Installation Guide.