gpt4 book ai didi

testing - 测试对象是否符合 TypeScript 中的接口(interface)

转载 作者:搜寻专家 更新时间:2023-10-30 21:05:55 24 4
gpt4 key购买 nike

如果我有一个普通的 JavaScript 对象和一个 TypeScript 接口(interface),我该如何编写断言对象符合我的接口(interface)的测试?

interface Person {
name: string
age?: number
}

describe('Person interface check', () => {
it ('should conform to "Person" interface', () => {
let obj1 = {name: "Mohsen"};
let obj2 = {name: "Hommer", age: 40};

expect(obj1) // ????
});
});

编辑:我不想做深度断言,例如expect(obj1.name).to.be.a.string

最佳答案

asserts object conforming to my interface

你必须手动完成:

expect(typeof object.name).to.eql("string");
// so on

更新:编写代码为您做深度断言

由于 TypeScript 看到的类型信息在生成的 JS 中被删除,因此您无法访问在 js 中的类型信息。但是,您可以编写代码来获取代码的 TS View (使用 typescript 语言服务)并生成为您执行这些深层断言的 JS 代码。

关于testing - 测试对象是否符合 TypeScript 中的接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30856758/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com