electron-tap

0.1.5 • Public • Published

electron-tap

Electron test runner for Tape

electron-tap

Installation

cd your-project
$ npm i --save-dev tape electron-tap

Usage

Define a new script in your package.json. --renderer option accepts a glob.

// ...
"scripts": {
  "test:renderer": "electron-tap --renderer 'test/**/renderer/*test.js?(x)'"
}

As an example we will test a React component. Create a new test file in directory test/renderer/Dummy-test.jsx.

// Dummy-test.jsx
import test from 'tape';
import reporter from 'electron-tap/reporter';
 
import React from 'react';
import ReactDOM from 'react-dom';
import ReactTestUtils from 'react-addons-test-utils';
 
class Dummy extends Component {
  render() {
    const style = {
      height: '60px',
      padding: '10px'
    };
 
    return (
      <div style={style}>Dummy component</div>
    )
  }
}
 
test('Dummy Component', function (t) {
  const container = document.createElement('div');
  document.body.appendChild(container);
 
  const component = ReactDOM.render(<Dummy />, container);
  const node = ReactDOM.findDOMNode(component);
 
  // assertion fails because of paddings and box-model
  t.equal(node.offsetHeight, 60, 'control height is 60px');
 
  document.body.removeChild(container);
  container = null;
  t.end();
});

Now run your test.

$ npm run test:renderer

This will open electron window, run all tests, output spec-like results to the Console tab in dev-tools, watch for changes in test files.

Readme

Keywords

Package Sidebar

Install

npm i electron-tap

Weekly Downloads

5

Version

0.1.5

License

none

Last publish

Collaborators

  • tundrax