Blame view
test/e2e/runner.js
1.51 KB
93a68cfa1
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
// 1. start the dev server using production config process.env.NODE_ENV = 'testing' const webpack = require('webpack') const DevServer = require('webpack-dev-server') const webpackConfig = require('../../build/webpack.prod.conf') const devConfigPromise = require('../../build/webpack.dev.conf') let server devConfigPromise.then(devConfig => { const devServerOptions = devConfig.devServer const compiler = webpack(webpackConfig) server = new DevServer(compiler, devServerOptions) const port = devServerOptions.port const host = devServerOptions.host return server.listen(port, host) }) .then(() => { // 2. run the nightwatch test suite against it // to run in additional browsers: // 1. add an entry in test/e2e/nightwatch.conf.js under "test_settings" // 2. add it to the --env flag below // or override the environment flag, for example: `npm run e2e -- --env chrome,firefox` // For more information on Nightwatch's config file, see // http://nightwatchjs.org/guide#settings-file let opts = process.argv.slice(2) if (opts.indexOf('--config') === -1) { opts = opts.concat(['--config', 'test/e2e/nightwatch.conf.js']) } if (opts.indexOf('--env') === -1) { opts = opts.concat(['--env', 'chrome']) } const spawn = require('cross-spawn') const runner = spawn('./node_modules/.bin/nightwatch', opts, { stdio: 'inherit' }) runner.on('exit', function (code) { server.close() process.exit(code) }) runner.on('error', function (err) { server.close() throw err }) }) |