karma-runner / karma-runner/karma

Participate in discussion about a shared Reporter interface?

Open
#1,183 3 comments 0 reactions 0 assignees View on GitHub
discuss type: backlog type: meta
Dominant language
JavaScript
Stars
12k
Forks
1.7k
PR merge metrics
No merged PRs in 30d

Description

We on the [QUnit](http://qunitjs.com/) team have been [discussing](https://github.com/jquery/qunit/issues/531) the possibility of working with other JS test frameworks, especially those that can be run client-side (e.g. Mocha, Jasmine, Intern, Buster, etc.), to agree upon a common Reporter interface so that we could hopefully share Reporter plugins between testing frameworks.

This would most likely come in the form of:
- a common Reporter API/Interface, e.g.
- an EventEmitter interface (`.on(...)`/`.off(...)`) _**OR**_ an object with standard "hook" properties
- _maybe_ a standard-ish way to register a Reporter, e.g. `MyLib.addReporter(x)`, `MyLib.reporter = x;`, etc.
- a minimum viable set of standardly-named events
- an associated standard set of data/details provided for each event
- a minimum viable set of standard test status types (e.g. pass, fail, skip, todo, pending, etc.)
- updating all participating test frameworks to support this new common Reporter interface

As a likely consumer of such a shared Reporter interface, we suspect you may be interested in participating in the discussions as well. Such a reporter should eliminate the need for any framework-specific shims/plugins/etc. that you may be employing right now to standardize results.

Would you guys be interested in discussing this further with us? If so, please let me know who I should invite to participate.

**Centralized Discussions:** https://github.com/js-reporters/js-reporters/issues/

Cross-reference issues:
- https://github.com/jquery/qunit/issues/531 (original discussion)
- https://github.com/visionmedia/mocha/issues/1326
- https://github.com/pivotal/jasmine/issues/659
- https://github.com/theintern/intern/issues/257
- https://github.com/busterjs/buster/issues/419
- https://github.com/caolan/nodeunit/issues/276
- https://github.com/flatiron/vows/issues/313

Contributor guide

Open the contributing guide

Research direction

Start with the centralized js-reporters discussion and review the linked QUnit issue 531 plus the cross-reference issues for Mocha, Jasmine, Intern, Buster, Nodeunit, and Vows. The issue asks for participation in defining a shared Reporter interface, so completion would require agreement among the participating test frameworks rather than a self-contained code change.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.