![Introducing Enhanced Alert Actions and Triage Functionality](https://cdn.sanity.io/images/cgdhsj6q/production/fe71306d515f85de6139b46745ea7180362324f0-2530x946.png?w=800&fit=max&auto=format)
Product
Introducing Enhanced Alert Actions and Triage Functionality
Socket now supports four distinct alert actions instead of the previous two, and alert triaging allows users to override the actions taken for all individual alerts.
mocha
Advanced tools
Package description
Mocha is a feature-rich JavaScript test framework running on Node.js and in the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases.
Test Organization
Organize tests in suites and sub-suites using describe() and context(), and specify test cases using it().
"use strict";\nconst assert = require('assert');\ndescribe('Array', function() {\n describe('#indexOf()', function() {\n it('should return -1 when the value is not present', function() {\n assert.equal([1, 2, 3].indexOf(4), -1);\n });\n });\n});
Asynchronous Testing
Support for testing asynchronous code with ease, using callbacks, promises, or async/await.
"use strict";\nconst assert = require('assert');\ndescribe('User', function() {\n describe('#save()', function() {\n it('should save without error', function(done) {\n const user = new User('Luna');\n user.save(function(err) {\n if (err) done(err);\n else done();\n });\n });\n });\n});
Hooks
Lifecycle hooks such as before(), after(), beforeEach(), and afterEach() for setting up preconditions and clean-up after tests.
"use strict";\ndescribe('Connection', function() {\n before(function() {\n // runs once before the first test in this block\n });\n\n after(function() {\n // runs once after the last test in this block\n });\n\n beforeEach(function() {\n // runs before each test in this block\n });\n\n afterEach(function() {\n // runs after each test in this block\n });\n\n // test cases\n});
Jest is a delightful JavaScript Testing Framework with a focus on simplicity. It works out of the box for any React project and is often compared to Mocha for its comprehensive feature set including a built-in assertion library and mock functions.
Jasmine is a behavior-driven development framework for testing JavaScript code. It does not rely on browsers, DOM, or any JavaScript framework. Thus, it's suited for websites, Node.js projects, or anywhere that JavaScript can run. It's compared to Mocha for its clean syntax and testing capabilities.
AVA is a test runner for Node.js with a concise API, detailed error output, and process isolation that lets you develop with confidence. It is often compared to Mocha for its modern, concurrent testing features, but differs in its approach to running tests in parallel by default.
Changelog
8.0.0 / 2020-06-10
In this major release, Mocha adds the ability to run tests in parallel. Better late than never! Please note the breaking changes detailed below.
Let's welcome @giltayar and @nicojs to the maintenance team!
#4164: Mocha v8.0.0 now requires Node.js v10.12.0 or newer. Mocha no longer supports the Node.js v8.x line ("Carbon"), which entered End-of-Life at the end of 2019 (@UlisesGascon)
#4175: Having been deprecated with a warning since v7.0.0, mocha.opts
is no longer supported (@juergba)
:sparkles: WORKAROUND: Replace mocha.opts
with a configuration file.
#4260: Remove enableTimeout()
(this.enableTimeout()
) from the context object (@craigtaub)
:sparkles: WORKAROUND: Replace usage of this.enableTimeout(false)
in your tests with this.timeout(0)
.
#4315: The spec
option no longer supports a comma-delimited list of files (@juergba)
:sparkles: WORKAROUND: Use an array instead (e.g., "spec": "foo.js,bar.js"
becomes "spec": ["foo.js", "bar.js"]
).
#4309: Drop support for Node.js v13.x line, which is now End-of-Life (@juergba)
#4282: --forbid-only
will throw an error even if exclusive tests are avoided via --grep
or other means (@arvidOtt)
#4223: The context object's skip()
(this.skip()
) in a "before all" (before()
) hook will no longer execute subsequent sibling hooks, in addition to hooks in child suites (@juergba)
#4178: Remove previously soft-deprecated APIs (@wnghdcjfe):
Mocha.prototype.ignoreLeaks()
Mocha.prototype.useColors()
Mocha.prototype.useInlineDiffs()
Mocha.prototype.hideDiff()
#4245: Add ability to run tests in parallel for Node.js (see docs) (@boneskull)
:exclamation: See also #4244; Root Hook Plugins (docs) -- root hooks must be defined via Root Hook Plugins to work in parallel mode
#4299: In some circumstances, Mocha can run ES modules under Node.js v10 -- use at your own risk! (@giltayar)
(All bug fixes in Mocha v8.0.0 are also breaking changes, and are listed above)
Readme
☕️ Simple, flexible, fun JavaScript test framework for Node.js & The Browser ☕️
Become a backer and show your support to our open source project.
Does your company use Mocha? Ask your manager or marketing team if your company would be interested in supporting our project. Support will allow the maintainers to dedicate more time for maintenance and new features for everyone. Also, your company's logo will show on GitHub and on our site - who doesn't want a little extra exposure? Here's the info.
You might want to know that:
You might want to help:
Finally, come chat with the maintainers on Gitter if you want to help with:
Copyright 2011-2020 OpenJS Foundation and contributors. Licensed MIT.
FAQs
simple, flexible, fun test framework
The npm package mocha receives a total of 5,877,229 weekly downloads. As such, mocha popularity was classified as popular.
We found that mocha demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket now supports four distinct alert actions instead of the previous two, and alert triaging allows users to override the actions taken for all individual alerts.
Security News
Polyfill.io has been serving malware for months via its CDN, after the project's open source maintainer sold the service to a company based in China.
Security News
OpenSSF is warning open source maintainers to stay vigilant against reputation farming on GitHub, where users artificially inflate their status by manipulating interactions on closed issues and PRs.