首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >手动触发Karma以重新运行测试

手动触发Karma以重新运行测试
EN

Stack Overflow用户
提问于 2016-03-21 16:04:16
回答 2查看 1.8K关注 0票数 2

我知道Karma有一个内置的autoWatch选项,当测试文件更改时,它将导致我的测试重新运行:

代码语言:javascript
复制
var server = new karmaServer({
    autoWatch: true,
    autoWatchBatchDelay: 250,
});
server.start();

有办法手动触发这个重新运行吗?当我的测试重新运行时,我希望有更多的控制权。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-14 17:00:07

我了解了更多关于Karma的知识,并发现了karma.runner.run(),它触发了一个已经在运行的服务器(例如,在另一个命令窗口中启动的Karma服务器)来重新运行它的测试。在我的任务中,我现在做了这样的事情:

代码语言:javascript
复制
gulp.task('run-tests', function() {
    gulp.watch('/glob/to/my/files').on('change', function() {
        karma.runner.run({ configFile: 'karma.conf.js' });
    });    
});

注意,如果您从产生您的Karma服务器的同一个进程运行此任务,您将看到重复的测试结果,因为服务器和运行程序都将其结果报告给命令行。要只显示一组测试结果,可以使用像这样的东西在后台进程中启动Karma服务器。

票数 0
EN

Stack Overflow用户

发布于 2016-03-21 18:27:04

如果您需要使用gulp手动运行它,只需使用它执行一个任务(我假设您希望重新运行server.start):

代码语言:javascript
复制
var server = new karmaServer({
 autoWatch: true,
 autoWatchBatchDelay: 250,
});

gulp.task('runTests', function() {
 server.start(); 
});

然后,每当您需要运行测试时,在命令行中运行:

代码语言:javascript
复制
gulp runTests 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36136027

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档