【问题标题】:Angular Jasmine - Argument of type 'string' is not assignable to parameter of type 'never' error in typescriptAngular Jasmine - “字符串”类型的参数不能分配给打字稿中“从不”类型的参数错误
【发布时间】:2021-07-23 05:54:54
【问题描述】:

我正在使用 Jasmine 3.6.0 和 typescript 4.1.5 在 Angular 中编写测试用例,并在 tsconfig.json 文件中使用 "strict": false

我想监视名为“close”的组件方法,并按照我在代码下面编写的语法

let spy = spyOn<MyComponent>(component,'close');

它工作正常,但是在将源代码复制到不同的文件夹后,我安装了节点模块,它开始出现以下错误

'string'类型的参数不能分配给'never'类型的参数'

我知道这个问题被问了很多次,我尝试了这些解决方案,但我遇到了同样的错误。 我不明白实际问题是什么,因为我的严格模式也关闭了。

【问题讨论】:

  • 尝试删除&lt;MyComponent&gt;
  • spyOn 将解决它,因为它将类型从不更改为任何并接受字符串

标签: angular typescript jasmine


【解决方案1】:
let spy = spyOn<MyComponent, any>(component,'close')

【讨论】:

  • 请解释您的代码以及它如何解决所提出的问题。
【解决方案2】:

我解决了问题

let spy = spyOn<MyComponent>(component,'close' as never)

截至目前它可以正常工作并且没有给出任何错误,但我不知道这是否正确

【讨论】:

    猜你喜欢
    • 2018-06-19
    • 1970-01-01
    • 2021-12-20
    • 2016-09-26
    • 1970-01-01
    • 2020-09-18
    • 2020-04-12
    • 2021-10-21
    • 2021-10-13
    相关资源
    最近更新 更多