使用笑话来测试数据是否与TypeScript类型相对应时避免警告

时间:2019-02-07 07:55:08

标签: typescript testing

在下面的示例中,我想验证数据是否实际上为med提供了一个diffInSeconds属性project

id

我收到以下ts错误消息

  

[ts]对象可能为'null'(指项目和使用   project.id)

从这里开始有什么好的做法:

  • 我应该用js而不是ts编写测试吗?
  • 我是否应该找到一个带有TypeScript预处理程序的测试框架,该框架将允许我在测试期望中使用TypeScript类型? (我认为这不存在)
  • 应该通过某种json验证方案而不是开玩笑的测试来进行这类检查吗?

1 个答案:

答案 0 :(得分:2)

getActiveProject的结果类型为Project | null。如果您确定let project不为空,则可以通过let project = await client.getActiveProject() as Project;对其进行映射。

您也可以这样做

let project = await client.getActiveProject(); // without type mapping
if (project !== null) {
  // here project will be Project type, not a Project | null
}