All Projects → js-reporters → Js Reporters

js-reporters / Js Reporters

Licence: mit
📋 Common Reporter Interface (CRI) for JavaScript testing frameworks.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Js Reporters

Openmicroservices.org
NOT MAINTAINED https://medium.com/@iopeak/open-microservices-specification-1abd8262ad0e
Stars: ✭ 383 (+681.63%)
Mutual labels:  standard
Webdriver
Remote control interface that enables introspection and control of user agents.
Stars: ✭ 546 (+1014.29%)
Mutual labels:  standard
Ncd
Natural Collections Descriptions (NCD)
Stars: ✭ 12 (-75.51%)
Mutual labels:  standard
Eslint Config Standard React
ESLint Shareable Config for React/JSX support in JavaScript Standard Style
Stars: ✭ 416 (+748.98%)
Mutual labels:  standard
Opencypher
Specification of the Cypher property graph query language
Stars: ✭ 534 (+989.8%)
Mutual labels:  standard
Standard
🌟 JavaScript Style Guide, with linter & automatic code fixer
Stars: ✭ 26,433 (+53844.9%)
Mutual labels:  standard
Url
URL Standard
Stars: ✭ 343 (+600%)
Mutual labels:  standard
Teamstandard
基于gitbook构建团队项目开发规范文档,期待你的提议☆⌒(*^-゜)v THX!!
Stars: ✭ 45 (-8.16%)
Mutual labels:  standard
Standard Version
🏆 Automate versioning and CHANGELOG generation, with semver.org and conventionalcommits.org
Stars: ✭ 5,806 (+11748.98%)
Mutual labels:  standard
Prior Standards
Archive of prior TDWG standards
Stars: ✭ 10 (-79.59%)
Mutual labels:  standard
Onebot
OneBot 标准:一个聊天机器人应用接口标准
Stars: ✭ 455 (+828.57%)
Mutual labels:  standard
Diy Macbook Stand
Stand for 12" MacBook, 13" MacBook Air and 13" MacBook Pro
Stars: ✭ 487 (+893.88%)
Mutual labels:  standard
Proposal Binary Ast
Binary AST proposal for ECMAScript
Stars: ✭ 831 (+1595.92%)
Mutual labels:  standard
Standard Readme
A standard style for README files
Stars: ✭ 4,412 (+8904.08%)
Mutual labels:  standard
Ale Sensible
Pretty, responsive and smooth defaults for a sane ALE, gets you started in 30 seconds
Stars: ✭ 30 (-38.78%)
Mutual labels:  standard
Snazzy
Format JavaScript Standard Style as Stylish (i.e. snazzy) output
Stars: ✭ 381 (+677.55%)
Mutual labels:  standard
Web Frameworks
Which is the fastest web framework?
Stars: ✭ 6,125 (+12400%)
Mutual labels:  standard
Owasp Masvs
The Mobile Application Security Verification Standard (MASVS) is a standard for mobile app security.
Stars: ✭ 1,030 (+2002.04%)
Mutual labels:  standard
Misp Rfc
Specifications used in the MISP project including MISP core format
Stars: ✭ 31 (-36.73%)
Mutual labels:  standard
Array Api
RFC document, tooling and other content related to the array API standard
Stars: ✭ 26 (-46.94%)
Mutual labels:  standard

js-reporters

Chat on Gitter Build Status Coverage Status npm npm

The Common Reporter Interface (CRI) for JavaScript Testing Frameworks.

Avoid this: Do this:

Specification

See Common Reporter Interface for the latest version of the specification.

See also:

  • example, illustrates how reporting works in practice.
  • frameworks, studies various popular testing frameworks.
  • Integrations, a list of real-world implementations.

Help with AsciiDoc (used for the standard document):

Background

In 2014, the QUnit team started discussing the possibility of interoperability between JavaScript testing frameworks such as QUnit, Mocha, Jasmine, Intern, Buster, etc. The "Common Reporter Interface" would be an allow integrations for output formats and communication bridges to be shared between frameworks. This would also benefit high-level consumers of these frameworks such as Karma, BrowserStack, SauceLabs, Testling, by having a standard machine-readable interface.

Our mission is to deliver:

  • a common JavaScript API, e.g. based on EventEmitter featuring .on() and .off().
  • a minimum viable set of events with standardized event names and event data.
  • a minimum viable set of concepts behind those events to allow consumers to set expectations (e.g. define what "pass", "fail", "skip", "todo", and "pending" mean).
  • work with participating testing frameworks to support the Common Reporter Interface.

Would you be interested in discussing this with us further? Please join in!

js-reporters Package

Usage

Listen to the events and receive the emitted data:

// Use automatic discovery of the framework adapter.
const runner = JsReporters.autoRegister();

// Listen to standard events, from any testing framework.
runner.on('testEnd', (test) => {
  console.log('Test %s has errors:', test.fullName.join(' '), test.errors);
});

runner.on('runEnd', (run) => {
  const counts = run.testCounts;

  console.log('Testsuite status: %s', run.status);
  console.log('Total %d tests: %d passed, %d failed, %d skipped',
    counts.total,
    counts.passed,
    counts.failed,
    counts.skipped
  );
  console.log('Total duration: %d', run.runtime);
});

// Or use one of the built-in reporters.
JsReporters.TapReporter.init(runner);

Adapter support

Testing framework Supported Last checked Unresolved
QUnit 1.20+ [email protected] (Jan 2021)
Jasmine 2.1+ [email protected] (Jan 2021)
Mocha 1.18+ [email protected] (Feb 2021)

See also past issues.

API

autoRegister()

Automatically detects which testing framework you use and attaches any adapters as needed, and returns a compatible runner object. If no framework is found, it will throw an Error.

JsReporters.autoRegister();

Integrations

Runners:

Reporters:

  • TAP, implements the Test Anything Protocol for command-line output.
  • browserstack-runner, runs JavaScript unit tests remotely in multiple browsers, summarize the results by browser, and fail or pass the continuous integration build accordingly.
  • Add your own, and let us know!

Cross-project coordination

Testing frameworks:

Reporters and proxy layers:

Credits

Testing Powered By SauceLabs

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].