【发布时间】:2018-01-26 17:12:56
【问题描述】:
我的 Javascript 代码库基于新的 ES6 Modules。
所以我有这样的 Javascript 文件,例如:
export class MyClass {
constructor() {
this.list = [];
}
add(el) { this.list.push(el); }
}
作为一个模块,我将此文件导入到其他 Javascript 文件中,如下所示:
import * as lists from "./myclass";
在 HTML 页面中,必须使用以下语法:
<script src="myclass.js" type="module"></script>
单元测试
我需要一个框架来测试我的代码。问题是我使用的是 Javascript 6 模块,所以像 karma 这样的现代框架在导入文件时存在问题,而不是作为模块:
module.exports = function(config) {
config.set({
files: [
'src/**/*.js',
'test/**/*.js'
],
...
})
}
以上是karma.conf.js 的示例。在 Karma 的特定情况下,runner 不会将文件作为模块导入,因此页面注入失败。
我可以使用哪些单元测试框架来测试 Javascript 6 模块?
【问题讨论】:
-
你玩过吗?
-
你想测试什么?
标签: javascript unit-testing ecmascript-6