|
5 | 5 | [](https://www.npmjs.com/package/js-reporters)
|
6 | 6 | [](https://www.npmjs.com/package/js-reporters)
|
7 | 7 |
|
8 |
| -The Common Reporter Interface (CRI) for JavaScript Unit Testing Frameworks. |
| 8 | +The Common Reporter Interface (CRI) for JavaScript Testing Frameworks. |
9 | 9 |
|
10 | 10 | | Avoid this: | Do this: |
|
11 | 11 | |----------------------------|----------------------------------|
|
12 | 12 | |  |  |
|
13 | 13 |
|
14 |
| -## Centralized Discussions |
15 |
| - |
16 |
| -https://github.com/js-reporters/js-reporters/issues/ |
17 | 14 |
|
18 | 15 | ## Background
|
19 | 16 |
|
20 |
| -We on the [QUnit](http://qunitjs.com/) team have been [discussing](https://github.com/qunitjs/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 also benefit high-level consumers of the frameworks such as Karma, BrowserStack, SauceLabs, Testling, etc. |
| 17 | +In 2014, the [QUnit](https://qunitjs.com/) team started [discussing](https://github.com/qunitjs/qunit/issues/531) the possibility of interoperability between JavaScript test 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. |
21 | 18 |
|
22 |
| -This would most likely come in the form of: |
| 19 | +Our mission is to deliver: |
23 | 20 |
|
24 |
| -- a common Reporter API/Interface, e.g. |
25 |
| - - an EventEmitter interface (`.on(...)`/`.off(...)`) _**OR**_ an object with standard "hook" properties |
26 |
| - - _maybe_ a standard-ish way to register a Reporter, e.g. `MyLib.addReporter(x)`, `MyLib.reporter = x;`, etc. |
27 |
| -- a minimum viable set of standardly-named events |
28 |
| - - an associated standard set of data/details provided for each event |
29 |
| -- a minimum viable set of standard test status types (e.g. pass, fail, skip, todo, pending, etc.) |
30 |
| -- updating all participating test frameworks to support this new common Reporter interface |
| 21 | +- a common JavaScript API, e.g. based on EventEmitter featuring `.on()` and `.off()`. |
| 22 | +- a minimum viable set of events with standardized event names and event data. |
| 23 | +- 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). |
| 24 | +- work with participating test frameworks to support the Common Reporter Interface. |
31 | 25 |
|
32 | 26 | Would _you_ be interested in discussing this with us further? Please join in!
|
33 | 27 |
|
| 28 | +https://github.com/js-reporters/js-reporters/issues/ |
| 29 | + |
34 | 30 | ## Draft Proposal
|
35 | 31 |
|
36 | 32 | ### Event Names
|
|
0 commit comments