wheredoc

    0.0.8 • Public • Published

    wheredoc

    Use docstring-like data tables in JavaScript tests, similar to Cucumber's Scenario Outline Examples: or Spock where: blocks.

    describe("Using Mocha and Chai.expect", (done) => {
      function spec(a, b, c) {
        expect(c).to.equal(a + b)
    
        where: `
          a  |  b  |  c
          1  |  2  |  3
          4  | -5  | -1
        `;
      }
    
      where(spec).forEach({ params, test } => {
        var { a, b, c } = params
    
        it(`${c} should equal ${a} + ${b}.`, test)
      })
    
      done()
    })

    Scenarios

    The where(spec) call returns an array of scenarios (or errors - more on that elsewhere). A scenario contains a params map of key-value pairs, and a test function.

    In cases where the testing library uses a flattened pattern, such as QUnit, and Tape, you can define the test name or message in the spec or test function itself, and call the scenario test directly in the iteration callback.

    In cases where the testing library uses the describe-it pattern, such as Mocha and Jasmine, you can define the test name in each scenario iteration function, then pass both the name and the test function, e.g., as it(name, test).

    Read more about this in the library examples document.

    Requirements

    ES2015 module support (i.e., JavaScript import statements):

    Install

    • from npm: npm install wheredoc
    • from github: git clone https://github.com/dfkaye/wheredoc.git

    Main test suite

    Created on Node.js, version 14.13.0, using Mocha 8.1.3 and Chai 4.2.0.

    Run with npm test

    Example suites on Node.js

    • mocha (using chai): npm run mocha-node
    • qunit (using qunit-tap): npm run qunit-node
    • tape (using tape-describe): npm run tape

    Browser example suites

    The browser suites run with live-server and download the testing libraries from https://unpkg.com. You should install live-server globally, npm install -g live-server, before running these examples.

    • mocha (using chai): npm run mocha
    • qunit: npm run qunit

    Further Documentation

    License

    MIT 2020

    Install

    npm i wheredoc

    DownloadsWeekly Downloads

    10

    Version

    0.0.8

    License

    MIT

    Unpacked Size

    115 kB

    Total Files

    23

    Last publish

    Collaborators

    • dfkaye