我已经为类的 getter setter 编写了测试代码。
即使我还没有实际编写 getter setter 。 测试通过了。
我很好奇......
// Code
class PersonalInfo {
public name: string = 'kevin';
private _ssn: string = '123-45-XXXX';
// I will write getter, setter for _ssn like below. Now now.
// get ssn(): string {
// return this._ssn;
// }
// set ssn(newSSN: string) {
// this._ssn = newSSN;
// }
}
// TestCode
describe('Testing getter, setter', () => {
it('Test whether getter and setter are working correctly', () => {
const personalInfo = new PersonalInfo();
personalInfo.ssn = 'XXX-12-3456' // set ssn
expect(personalInfo.ssn).toBe('XXX-12-3456'); // get ssn
})
})
即使没有写入getter setter,测试也通过了
Testing getter, setter
✓ Test whether getter and setter are working correctly (1ms)
感谢您的帮助!
答案 0 :(得分:1)
测试执行已转换的JavaScript,而不是TypeScript,因此代码可以正确执行,因为在测试中,您只需向personalInfo
对象添加新属性。 TypeScript唯一做的是指示错误,因为类型PersonalInfo
没有ssn
属性。但是,即使存在编译器错误,TypeScript编译器仍会生成转换后的JavaScript。