使用 karma 持续编译和运行我的咖啡脚本测试

Posted

技术标签:

【中文标题】使用 karma 持续编译和运行我的咖啡脚本测试【英文标题】:Continuously complinig and running my coffeescript tests with karma 【发布时间】:2016-11-26 03:07:12 【问题描述】:

我正在使用 grunt, karma (singleRun: false)。我的测试是用咖啡脚本编写的。每次我的咖啡文件更改时,我都希望运行测试。问题是我不知道如何使两者都发生。 到目前为止,我发现了 watch 任务,我尝试在那里添加我的咖啡并将 watcher 添加到我的测试任务中:

//karma.conf.js
singleRun: true,

在 Gruntfile 中:

//Gruntfile.js
watch: 
  coffee: 
            files: ['test/spec/,*/*.coffee'],
            tasks: 'coffee'
        

grunt.registerTask('test', [
    'clean:server',
    'coffee',
    'concurrent:test',
    'autoprefixer',
    'connect:test',
    'karma',
    'watch:coffee'
]);

这样,业力观察者正在观察 javascript 文件,但我自己的咖啡观察者根本没有被触发。

现在我刚刚从测试任务中删除了watch:coffee,我正在并行终端中运行grunt testgrunt watch:coffee,这看起来有点可悲。有没有更好的办法?

【问题讨论】:

【参考方案1】:

更好的方法是使用karma-coffee-preprocessor。设置很简单,我可以使用singleRun: true

【讨论】:

以上是关于使用 karma 持续编译和运行我的咖啡脚本测试的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Karma (testacular) 测试 nodejs 后端代码

预编译咖啡脚本文件(Rails 4)

设置Jenkins使用Karma和Eslint进行单元测试和Lint检查

获取预编译源代码的 Karma 代码覆盖率

什么是Karma?

使用 karma 和 jamis 进行 Angular 单元测试