@pigs/plugin-puppet v0.1.4
@pigs/plugin-puppet 
Easy automatic (headless) browser testing, powered by Puppeteer.
Install
yarn add @pigs/plugin-puppet --devRequire Pigs 12.0.2 and above.
How to use
Add this plugin in pigs.config.js:
module.exports = {
plugins: [
{
resolve: '@pigs/plugin-puppet'
}
]
}Now you can bundle your code and run it in browser:
// cowsay.js
import * as cowsay from 'cowsay'
// You can use window.*, since this will be run in Chromium
const text = window.atob('SSBydW4gaW4gYSBicm93c2Vy')
// Everything logged here will be piped to your host terminal
console.log(cowsay.say({ text }))
// Explicitly terminate the script when you are done
puppet.exit()This command will injectpuppet command to the Pigs CLI, you need to use this command in --test mode:
❯ pigs puppet --test cowsay.js
____________________
< I run in a browser >
--------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
✔ All tests have passed!Testing Frameworks
This plugin also works with some popular testing frameworks like Mocha and Tape, check out the CLI usages.
CLI Usages
pigs puppet --test [...files]
[...files]
- Type:
string[] - Default:
**/*.test.{js,ts}
One or more glob patterns for matching test files. node_modules is always excluded.
--no-headless
Don't run Chromium in headless mode.
--framework <framework>
- Type:
string - Values:
mochatape
Use a testing framework.
For Mocha: you don't need addtional dependencies, window.mocha is available in your code. Here's the code example.
For Tape: you need to install tape in your project since you need to import it in your code. Here's the code example.
--ui <ui>
- Type:
string - Values:
bddtddqunit - Default:
bdd
Set user-interface for mocha.
Caveats
This is just for unit testing (maybe for now).
Credits
This plugin is inspired by puppet-run which is built upon Parcel bundler.
7 years ago