在Gulp中运行命令行命令

时间:2015-08-23 17:36:23

标签: gulp

我正在尝试创建Gulp任务。任务必须执行以下操作:

  1. 启动我的网络服务器
  2. 启动selenium服务器
  3. 运行我的测试
  4. 我可以从命令行手动完成这三件事。这时,我在Mac OS X的终端窗口中打开一个选项卡,然后运行:

    dnx . run

    该命令启动我的Web服务器。然后,在终端窗口的另一个选项卡中,我运行:

    java -jar node_modules/selenium-server-standalone-jar/jar/selenium-server-standalone-2.45.0.jar

    该命令启动selenium测试服务器。然后,在终端窗口的第三个选项卡中,我运行:

    gulp test

    gulp test任务负责执行我的测试。我真的希望gulp test也a)启动我的web服务器和b)启动selenium服务器。基本上,gulp test将遍历我的所有测试一次,然后返回到命令提示符。为了做到这一点,我正在使用gulp-exec。我不确定这是否应该用于这种方法。此时,我还有以下内容:

    gulp.task('test', function() {
      return gulp.src('./tests/*.js')
        .pipe(jasmine())
      ;
    });
    

    上述任务成功执行了我的测试。但是,只有在 Web服务器和selenium服务器已经手动启动之后才会这样做。如何启动Web服务器,然后启动selenium服务器,然后使用Gulp在我的任务中执行测试?

    谢谢!

1 个答案:

答案 0 :(得分:0)

完成此任务的主要内置方法是通过require('child_process').exec('echo Hello World')

除此之外,还有三个github / npm项目可以实现这一目标

  1. gulp-run
  2. gulp-spawn
  3. gulp-shell