Typescript输出属性错误

时间:2018-04-23 16:27:40

标签: typescript testing properties compiler-errors

我按照本教程enter link description here来运行由angular编写的项目的测试,并由jHipster生成,但似乎有些错误,并且出现了一些错误。 使用 yarn test 命令运行测试时会出现此错误:



ERROR: ....component.ts[31, 17]: Property 'callme'
is declared but its value is never read.



 但这个属性是出于任何原因。如果我删除它错误是找不到此属性。在这两种情况下,测试都不能运行,也不能使用Karma或Cucumber。我已经安装了打字稿库,tslint,业力插件,黄瓜,纱线。 我还清理了npm缓存删除的node_modules并进行了npm安装。没有结果。 奇怪的是,应用程序的执行和运行中没有出现错误,但只有在我运行测试时才会出现错误。开发团队到目前为止,同时测试人员(我)甚至无法进行测试。 有人经历过这个吗?请与我们分享解决方案,因为我已经在互联网上进行了7天的研究并尝试了几乎所有的东西。

1 个答案:

答案 0 :(得分:0)

如果可以,请将会员公开。如果在课外访问它,这是编写代码的最诚实的方式。

public callme: string;

在TypeScript中,默认情况下成员为public,因此您可以将访问修饰符省略到相同的效果。

如果您有某些理由拥有某个外部框架使用的私有成员,则需要另一个解决方案。如果编译器看不到某个成员被使用,但是你知道它有一些外部用途,编译器可能无法知道;你可以负责。

以下是一种可以执行此操作的方法:

// @ts-ignore: ignore not used error
private callme: string;

总的来说,你可能应该avoid error suppression comments,但你可能已经找到了一个必要的案例(这取决于你想要实现的目标 - 我猜测的概念是"我不是&# 39;我希望我的生产代码能够访问这个成员,但我正在使用一个按惯例工作的框架来访问它")。

将来,拥有非私人访问的私有成员可能会中断(如果私有访问被强制执行)。