From 783f16a87b4463d5218929a034034c6eeac35542 Mon Sep 17 00:00:00 2001 From: Christopher Hiller Date: Fri, 20 Apr 2018 16:13:59 -0700 Subject: [PATCH] add test/README.md [ci skip] Signed-off-by: Christopher Hiller --- test/README.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 test/README.md diff --git a/test/README.md b/test/README.md new file mode 100644 index 0000000000..6a30344a5c --- /dev/null +++ b/test/README.md @@ -0,0 +1,14 @@ +# About Mocha's Tests + +- **All assertions should be made using [unexpected](http://unexpected.js.org)**, unless there's a good reason not to. Exceptions include: + - Testing diff output. Mocha generates diff output unless the assertion library decides to do this itself. Since `unexpected` generates its *own* diff output, we need to use an assertion library that does not; we use the built-in `assert` module. + - Tests assertion interop with other specific assertion libraries. +- All tests have extension `.spec.js`. +- All test fixtures have extension `.fixture.js`. +- All test fixtures are *ignored* by ESLint. +- `mocha.opts` will require `test/setup.js`, which is the main harness. +- `test/assertions.js` contains Mocha-specific types and assertions for `unexpected` +- `test/node-unit/` only runs in Node.js; `test/browser-specific/` only runs in the browser. + - See `../karma.conf.js` for more information on which tests run in the browser. +- We can't run all of the Node.js tests in one `mocha` command, because we need to use different command-line options to test the various reporters and interfaces. + - See `../package-scripts.js` for more info about how things are split up.