TheMirageProject / specTapular

⚡️👓🤠🎩🚰 Declarative Tests Runner where Async has a seat in 1st Class
http://spectapularjs.com
MIT License
1 stars 0 forks source link

Create Reporter Module Interface #3

Open ericdmoore opened 6 years ago

ericdmoore commented 6 years ago

Create a reporter Interface

  1. Draw out touch points of how that might work
  2. Document the requirements for reporter authors
  3. Identify beneficial reporters

Reporter Requirements:

Reporter Lifecycle

Authoring & Publishing

  1. Create Reporter
  2. Submit Reporter to some js software service (npm, github, etc)
  3. Optional: Submit install instructions to SpecTapular for increased easy visibility

Installation & Usage

  1. Developers install a reporter from a software service
  2. Developers can configure spectapular to use the new reporter
  3. Developers execute tests

List of Reporters From Other Awesome Projects

exploration tasks:

ericdmoore commented 6 years ago

Useful Reporters:

  1. Spec shipped with the product - @ref: Mocha Spec (Migrate the existing format to a separate lib file)
  2. Create a TAP producer @ref Mohca
  3. List from Mocha @ref: https://mochajs.org/#list
  4. JSON @ref: https://mochajs.org/#json
  5. ndJSON @ref: https://mochajs.org/#json-stream
  6. markdown
  7. html
  8. min @ref https://mochajs.org/#min
  9. oneliner @ref https://github.com/avajs/ava#mini-reporter

Exploration:

Landing Strip, and other progress bar style reporters might be a challenge with current architecture due to the array map execution style. Maybe not - maybe you just do something clever with the array length?? but over multiple files? We'll see.

ericdmoore commented 6 years ago

Prioritize the JSON or ndJSON reporter as they require the more verbose versions. Everything else will become easier.