我有一个Angular模块,我使用了一些ES6语法(=>
函数和计算出的密钥名称)。
事实证明Jasmine拒绝加载模块,我无法测试它。我完全确定ES6语法是原因,因为只要我将代码更改为ES3语法,Jasmine就会加载我的模块并且我能够测试它。
为什么会发生这种情况,有没有办法告诉Jasmine加载我的ES6代码?
答案 0 :(得分:0)
你可以使用babel来转换你的es6,这里有一个如何在你的jasmine conf中设置它的链接。
答案 1 :(得分:0)
Jasmine致力于支持浏览器和Node;他们针对稳定的浏览器构建运行测试。在主流浏览器完全支持ES6之前,我不认为Jasmine能够加载您的ES6代码。 From the contributing guide:
如何编写新的Jasmine代码
或者,如何成功提取请求
- 请勿更改公共界面。很多项目都依赖于Jasmine,如果你不小心你会打破它们
- 与环境无关 - 服务器端开发人员与浏览器开发人员一样重要
- 与浏览器无关 - 如果您必须依赖浏览器特定的功能,请以优雅降级的方式编写