首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何给karma-mocha添加参数?

如何给karma-mocha添加参数?
EN

Stack Overflow用户
提问于 2015-08-28 03:59:59
回答 1查看 200关注 0票数 2

我已经为一个TypeScript项目设置了单元测试。从命令行可以很好地执行以下操作:

代码语言:javascript
复制
mocha --compilers ts:typescript-require ./source/**/*.spec.ts

现在,我已经将mocha和chai添加到我的karma文件中,如下所示:

代码语言:javascript
复制
...
frameworks: ['mocha', 'chai'],
...

如何使用karma.conf.js文件将参数compilers ts:typescript-require包含到mocha中:

代码语言:javascript
复制
...
client: {
  mocha: {
    // I assume it goes here?
  }
},
...

如果能举个例子,我们将非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2016-05-14 08:57:29

所以..。我有一些好消息和一些坏消息。首先是坏消息。

typescript-require作为一个Mocha插件工作,因为在命令行中,Mocha和Typescript都在Node.js的上下文中运行。然而,当您使用Karma时,Mocha实际上是在浏览器的上下文中运行的。浏览器没有内置的模块加载器(require(...)的实现),通常有两种策略来弥补这一点:

  1. 使用开发时转换器(例如Browserify或Webpack)来分析您的require(...)调用,并将其替换为加载的代码。
  2. 添加支持require的浏览器内加载器(例如SystemJS或RequireJS)。

有不同风格的装载器/请求(...)行为。但是,由于您的代码在命令行( Node.js )中工作,我猜您需要一个能够模拟Node.js的加载器。

好了,现在有个好消息。看起来你想运行你的测试,而不需要做一个单独的步骤来将你的Typescript转换成JS,因为你使用的插件是“即时”的。你可以在Karma中做类似的事情,你只需要在Karma层而不是Mocha层运行它。一个可以做到这一点的Karma插件是https://www.npmjs.com/package/karma-typescript-preprocessor

祝好运!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32258407

复制
相关文章

相似问题

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