Socket
Socket
Sign inDemoInstall

mocha

Package Overview
Dependencies
34
Maintainers
1
Versions
192
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

mocha

simple, flexible, fun test framework


Version published
Maintainers
1
Weekly downloads
5,803,478
decreased by-24.09%

Weekly downloads

Package description

What is mocha?

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.

What are mocha's main functionalities?

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});

Other packages similar to mocha

Readme

Source

Mocha needs YOU!

Did you know Mocha is a dependency of over 100,000 projects published to npm alone?

Despite this, we're currently unable to merge most pull requests due to lack of maintenance resources.

Are you interested in triaging issues or reviewing open PRs? Have some time to hack on its codebase? If you would like to help maintain Mocha, please contact @boneskull on Gitter.

Thank you :kissing_heart: to all of you interested in helping. These are Mocha's immediate needs:

  1. Increase test coverage on Node.js and browser
  • Increase integration coverage for all reporters
    • html reporter must be tested in browser
    • Basic console reporters (not nyan, landing, etc.) must be tested in both browser and Node.js contexts; PhantomJS can consume all console reporters
    • Filesystem-based reporters must be tested in Node.js context
    • UPDATE - May 24 2017: Thanks to community contributions, the coverage on most reporters has increased dramatically! The html reporter is still in dire need of coverage.
  • Increase coverage against all interfaces (exports in particular). Ideally this becomes a "matrix" where we repeat sets of integration tests across all interfaces.
  • Refactor non-Node.js-specific tests to allow them to run in a browser context. Node.js-specific tests include those which require the CLI or filesystem. Most everything else is fair game.
  1. Review current open pull requests
  • We need individuals familiar with Mocha's codebase. Got questions? Ask them in our chat room.
  • Pull requests must have supporting tests. The only exceptions are pure cosmetic or non-functional changes.
  • Pull request contributors must sign the CLA.
  1. Close old, inactive issues and pull requests
  • A bot should do this. We need a bot. Got a bot? We now use GitHub's own probot-stale.
  1. Triage issues
  • If we run into "critical" bugs, they need fixing.
  • "Critical" means Mocha is broken w/o workarounds for a large percentage of users
  • Otherwise: respond to issues, close new dupe issues, confirm bugs, ask for more info, etc.

Once we gain ground on the above items, we can work together formalize our contribution guidelines and governance. For further info & ideas, please see our projects.

You needn't be a maintainer to submit a pull request for test coverage!

-- @boneskull, Jan 17 2016



Mocha test framework

Build Status Coverage Status FOSSA Status Gitter OpenCollective OpenCollective
Mocha Browser Support h/t SauceLabs

Mocha is a simple, flexible, fun JavaScript test framework for node.js and the browser. For more information view the documentation.

Backers

Become a backer and show your support to our open source project.

Sponsors

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.

License

MIT

FOSSA Status

Keywords

FAQs

Last updated on 11 Sep 2017

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with โšก๏ธ by Socket Inc