Angular 2(cli)量角器jasmine期望不能解决承诺

alt*_*ler 3 jasmine protractor angular

我正在使用Jasmine用Protractor和Angular 2编写E2E测试.

我试图对getText()量角器返回的元素做一个简单的期望.

it('should display correct hero title', () => {
    expect(element(by.css('Hero-title')).getText()).toEqual('Foobar');
});
Run Code Online (Sandbox Code Playgroud)

这会导致类型错误:

Argument of type '"Foobar"' is not assignable to parameter of type 'Expected<Promise<string>>'. [2345]
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用,.then但我不想这样做,因为我会有很多这些类型的期望.

使用新的Angular CLI项目,这可以按预期工作.我已经完成了所有的配置,但找不到任何差异.

ale*_*cxe 5

这与jasmine从2.5.46开始强制执行正确的类型有关,这是Protractor问题跟踪器中的一个相关的未决问题:

作为解决方法,您可以将"茉莉花类型"版本固定为2.5.45,直到问题得到解决:

"@types/jasmine": "2.5.45"
Run Code Online (Sandbox Code Playgroud)