ES6 arrow function TypeError: Cannot read property '1' of null with multiple params using Karma

ES6 arrow function TypeError: Cannot read property '1' of null with multiple params using Karma

我正尝试在 karma 中为 Angular 应用程序构建一些测试,并且我正在涉足 ES6。我正在尝试使用箭头函数而不是旧格式,但是当我尝试将具有多个参数的函数传递给注入函数时出现错误。

这很好用:

it('this is a test', () => {
    .....
});

这会抛出“TypeError:无法读取 属性 '1' of null':

it('this is another test',inject(($state, $q, $httpBackend)=> {
    ....
});

虽然这很好用:

it('this is another test',inject(function($state, $q, $httpBackend) {
    ....
});

想知道为什么会这样吗?非常感谢。

对于其他人 运行 到此 (https://xkcd.com/979),Angular (<1.5) 注入与 ES6 箭头函数不兼容。 inject/module.

升级或使用普通函数

它显然依赖于 toString 来获取参数名称,并且被箭头函数破坏了:/