gecko-dev/devtools/docs/tests
Nicolas Chevobbe d750e62ad7 Bug 1669956 - [devtools] Run devtools shared components jest tests. r=jdescottes.
This allows the jest tests for the shared components to be run in the devtools-node task.

For some reason, the snapshots needed to be updated (it looked like we were
missing some bits?).

Differential Revision: https://phabricator.services.mozilla.com/D93376
2020-10-14 11:37:28 +00:00
..
README.md
debugging-intermittents.md
mochitest-chrome.md
mochitest-devtools.md
node-tests.md Bug 1669956 - [devtools] Run devtools shared components jest tests. r=jdescottes. 2020-10-14 11:37:28 +00:00
perfherder-compare-link.png
perfherder-compare.png
perfherder-create-gecko-profile.png
perfherder-damp.png
perfherder-filter-subtests.png
perfherder-subtests.png
performance-tests.md
regression-graph.png
regression-popup.png
writing-perf-tests-example.md
writing-perf-tests-tips.md
writing-perf-tests.md
writing-tests.md
xpcshell.md

README.md

Automated tests

When working on a patch for DevTools, there's almost never a reason not to add a new test. If you are fixing a bug, you probably should write a new test to prevent this bug from occurring again. If you're implementing a new feature, you should write new tests to cover the aspects of this new feature.

Ask yourself:

  • Are there enough tests for my patch?
  • Are they the right types of tests?

We use three suites of tests:

  • xpcshell: Unit-test style of tests. No browser window, only a JavaScript shell. Mostly testing APIs directly.
  • Chrome mochitests: Unit-test style of tests, but with a browser window. Mostly testing APIs that interact with the DOM.
  • DevTools mochitests: Integration style of tests. Fires up a whole browser window with every test and you can test clicking on buttons, etc.

More information about the different types of tests can be found on the automated testing page at MDN.

To run all DevTools tests, regardless of suite type:

./mach test devtools/*

Have a look at the child pages for more specific commands for running only a single suite or single test in a suite.