runner.js 786 B

12345678910111213141516171819202122232425262728293031323334
  1. const path = require('path')
  2. const spawn = require('cross-spawn')
  3. const httpServer = require('http-server')
  4. const server = httpServer.createServer({
  5. root: path.resolve(__dirname, '../../')
  6. })
  7. server.listen(8080)
  8. let args = process.argv.slice(2)
  9. if (args.indexOf('--config') === -1) {
  10. args = args.concat(['--config', 'test/e2e/nightwatch.config.js'])
  11. }
  12. if (args.indexOf('--env') === -1) {
  13. args = args.concat(['--env', 'chrome,phantomjs'])
  14. }
  15. const i = args.indexOf('--test')
  16. if (i > -1) {
  17. args[i + 1] = 'test/e2e/specs/' + args[i + 1] + '.js'
  18. }
  19. const runner = spawn('./node_modules/.bin/nightwatch', args, {
  20. stdio: 'inherit'
  21. })
  22. runner.on('exit', function (code) {
  23. server.close()
  24. process.exit(code)
  25. })
  26. runner.on('error', function (err) {
  27. server.close()
  28. throw err
  29. })