ember-play
v0.3.0
Published
A build-free test runner for Ember apps.
Downloads
3
Readme
ember-play
A build-free test runner for Ember apps.
Features
- Runs tests from your already running Ember app
- Filter tests using the familiar
-f
or--filter
flag - Watch tests with the
-w
or--watch
flag - Quickly move to a browser with the
-b
or--browswer
flag - (Soon!) Mocha support, with automatic detection
Compatibility
- Ember.js v3.16 or above
- Ember CLI v2.13 or above
- Node.js v10 or above
Installation
ember install ember-play
Usage
Step 1: Modify your test-helper.js
file to instrument the tests page.
import emberPlaySetup from 'ember-play';
// ... other stuff ...
emberPlaySetup();
Step 2: Make sure you are running the Ember server.
If you're like me, this is pretty much always running.
$ ember serve
Step 3: Run ember play
in another terminal session.
$ ember play -f "acceptance | jobs list"
Ember Play starting...
Launching Chrome...
Opening http://localhost:4200/tests?__emberplay=true&filter=acceptance%20%7C%20jobs%20list...
Running 41 tests...
Acceptance | jobs list
✓ it passes an accessibility audit 769ms
✓ visiting /jobs 306ms
✓ /jobs should list the first page of jobs sorted by modify index 02s 025ms
✓ each job row should contain information about the job 442ms
How does it work?
- Ember Play uses Playwright to open the
/tests
route of your Ember app in a headless browser. - Your tests route uses the Common Reporters Interface to send all test output over the Live Reload websocket.
- Playwright intercepts this websocket traffic and reports test output to your CLI.
Troubleshooting
Nothing runs
If this happens it's probably because you aren't building tests in the dev environment. Tests will build in dev by default, but sometimes this is disabled
to speed up dev builds. Check your ember-cli-build.js
file to make sure tests
is set to true
(or at least not set to false
) in the EmberApp
constructor.
Contributing
See the Contributing guide for details.
License
This project is licensed under the MIT License.