summaryrefslogtreecommitdiffstats
path: root/devtools/docs/contributor/tests/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/docs/contributor/tests/README.md')
-rw-r--r--devtools/docs/contributor/tests/README.md22
1 files changed, 22 insertions, 0 deletions
diff --git a/devtools/docs/contributor/tests/README.md b/devtools/docs/contributor/tests/README.md
new file mode 100644
index 0000000000..d981361b28
--- /dev/null
+++ b/devtools/docs/contributor/tests/README.md
@@ -0,0 +1,22 @@
+# 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`](xpcshell.md): Unit-test style of tests. No browser window, only a JavaScript shell. Mostly testing APIs directly.
+* [Chrome mochitests](mochitest-chrome.md): Unit-test style of tests, but with a browser window. Mostly testing APIs that interact with the DOM.
+* [DevTools mochitests](mochitest-devtools.md): Integration style of tests. Fires up a whole browser window with every test and you can test clicking on buttons, etc.
+
+
+To run all DevTools tests, regardless of suite type:
+
+```bash
+./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.