我为TypeScript项目设置了单元测试。从命令行可以正常工作:
mocha --compilers ts:typescript-require ./source/**/*.spec.ts
现在,我已经将mocha和chai添加到我的karma文件中,如下所示:
...
frameworks: ['mocha', 'chai'],
...
如何使用此部分使用compilers ts:typescript-require
文件将参数karma.conf.js
包含到mocha中:
...
client: {
mocha: {
// I assume it goes here?
}
},
...
非常感谢一个例子!
答案 0 :(得分:0)
所以...我有一些好消息和一些坏消息。首先是坏消息。
table.treetable span.indent{
display:inline-block;
text-align: right;
}
用作Mocha插件,因为在命令行中,Mocha和Typescript都在Node.js的上下文中运行。但是,当您使用Karma时,Mocha实际上会在浏览器的上下文中运行。浏览器没有内置模块加载器(typescript-require
的实现),通常有两种策略可以解决这个问题:
require(...)
电话,并将其替换为加载代码。 有不同类型的加载器/ require(...)行为。但是,由于您的代码在命令行(Node.js)中工作,我猜你想要一个能够模拟Node.js的加载器,它是#1家族。
好的,现在好消息。看起来您想要运行测试而无需单独执行将Typescript转换为JS的步骤,因为您使用的插件即时执行#34;即时#34;。您 可以 在Karma中执行类似的操作,您只需要在Karma图层而不是Mocha图层中运行它。这样做的Karma插件是https://www.npmjs.com/package/karma-typescript-preprocessor。
祝你好运!