如何将端口从grunt connect通信到grunt jasmine任务

如何将端口从grunt connect通信到grunt jasmine任务,jasmine,gruntjs,grunt-contrib-connect,grunt-contrib-jasmine,Jasmine,Gruntjs,Grunt Contrib Connect,Grunt Contrib Jasmine,我将grunt connect(“grunt contrib connect”:“0.11.2”)与grunt jasmine(“grunt contrib jasmine”:“^1.1.0”)一起使用。connect config先前对端口号进行了硬编码,而jasmine config也被配置为在主机配置选项中使用相同的端口号 现在,我想在connect中启用UseAvaailablePort选项,以解决使用相同端口的并发生成问题。但是,我很难理解如何正确地将端口号从connect传送到jas

我将grunt connect(
“grunt contrib connect”:“0.11.2”
)与grunt jasmine(
“grunt contrib jasmine”:“^1.1.0”
)一起使用。connect config先前对端口号进行了硬编码,而jasmine config也被配置为在
主机
配置选项中使用相同的端口号

现在,我想在connect中启用
UseAvaailablePort
选项,以解决使用相同端口的并发生成问题。但是,我很难理解如何正确地将端口号从connect传送到jasmine

下面是我的grunt init config块的相关部分:

连接:{
测试:{
选项:{
keepalive:错,
主机名:“localhost”,
港口:1234,
基数:['.]
}
}
}
茉莉花:{ js:{ src:。。。, 选项:{ 基普朗纳:是的, 小结:没错, 主持人:'http://localhost:1234/', 规范:“src/test/js/***Spec.js”, 卖主:。。。 } } } 我使用以下方法创建了grunt测试任务:

grunt.registerTask('test',['connect','jasmine:js']);
那么,从
connect
捕获端口并在
jasmine:js
中设置主机的最佳做法是什么呢

我一直在尝试如下更改测试任务,但毫无乐趣(也不确定这样做是否正确):

grunt.registerTask('test','Run jasmine unit tests',function(){
grunt.event.once('connect.test.listening',函数(主机、端口){
var jasmineHost='http://'+host+':'+port;
grunt.log.writeln('Running jasmine tests from:'+jasmineHost);
grunt.config.set('jasmine:js:options:host',jasmineHost);
grunt.task.run('jasmine:js');
});
run('connect:test');
});

GruntJS框架包括,您可以在配置和任务中使用它在运行时注入值。文档可能有点混乱;为了解决您的问题,我们将在
jasmine.js.options.host
的字符串中添加一个lodash模板标记,并使用json符号引用其他配置值:

茉莉花:{ js:{ src:。。。, 选项:{ 基普朗纳:是的, 小结:没错, 主持人:'http://localhost:/', 规范:“src/test/js/***Spec.js”, 卖主:。。。 } } } 在运行时,grunt将在执行任务之前处理lodash模板标记