Test Frameworks: Mocha
Test framework implementation of Mocha.
Writing JS tests
Mocha relies on global variables, in any JS test file describe
and it
are available globally and can be used directly:
describe('my test', () => {
it('foo is bar', () => {
if ('foo' !== 'bar') {
throw new Error('foo does not equal bar');
}
});
});
Writing HTML tests
If you're writing tests as HTML, you can import this library to run tests with mocha:
<html>
<body>
<script type="module">
import { mocha, sessionFinished, sessionFailed } from '@web/test-runner-mocha';
try {
// setup mocha
mocha.setup({ ui: 'bdd' });
// write your tests inline
describe('HTML tests', () => {
it('works', () => {
expect('foo').to.equal('foo');
});
});
// or import your test file
await import('./my-test.js');
// run the tests, and notify the test runner after finishing
mocha.run(() => {
sessionFinished();
});
} catch (error) {
console.error(error);
// notify the test runner about errors
sessionFailed(error);
}
</script>
</body>
</html>
Configuring mocha options
You can configure mocha options using the testFramework.config
option in your web-test-runner.config.js
:
module.exports = {
testFramework: {
config: {
ui: 'bdd',
timeout: '2000',
},
},
};