Typescript 为什么我不能创建新对象并设置属性?
我正在为TypeScript应用程序编写单元测试,无法定义新对象并设置属性。我的所有其他不需要对象类的测试都能正常工作,这只发生在测试期间,而不是在生产方法中使用非常相似的代码时 无法设置未定义的属性“eId” 候选者。tsTypescript 为什么我不能创建新对象并设置属性?,typescript,jestjs,Typescript,Jestjs,我正在为TypeScript应用程序编写单元测试,无法定义新对象并设置属性。我的所有其他不需要对象类的测试都能正常工作,这只发生在测试期间,而不是在生产方法中使用非常相似的代码时 无法设置未定义的属性“eId” 候选者。ts export class Candidate { public eId: string; public firstName: string; public lastName: string; public email: string;
export class Candidate {
public eId: string;
public firstName: string;
public lastName: string;
public email: string;
public address: string;
public job: {
title: string,
eId: string,
};
}
import { Candidate } from '../../../src/api/models/JCandidate';
test('Parse API model to API V2', async (done) => {
const cController = new CController(cService, log)
const jCandidate = new Candidate();
jCandidate.eId = '23423'; //Error here
jCandidate.email = 'Rogers@test.com';
jCandidate.address = '123 Test Ave';
jCandidate.job.eId = '1235';
jCandidate.job.title = 'Test Job Title';
jCandidate.firstName = 'Test';
jCandidate.lastName = 'Name';
const kCandidate = await cController.parseJCandidateToK(jCandidate);
expect(kCandidate.name).toBe(jCandidate.firstName + ' ' + jCandidate.lastName);
expect(kCandidate.jobId).toBe(jCandidate.job.eId);
done();
});
测试.ts
export class Candidate {
public eId: string;
public firstName: string;
public lastName: string;
public email: string;
public address: string;
public job: {
title: string,
eId: string,
};
}
import { Candidate } from '../../../src/api/models/JCandidate';
test('Parse API model to API V2', async (done) => {
const cController = new CController(cService, log)
const jCandidate = new Candidate();
jCandidate.eId = '23423'; //Error here
jCandidate.email = 'Rogers@test.com';
jCandidate.address = '123 Test Ave';
jCandidate.job.eId = '1235';
jCandidate.job.title = 'Test Job Title';
jCandidate.firstName = 'Test';
jCandidate.lastName = 'Name';
const kCandidate = await cController.parseJCandidateToK(jCandidate);
expect(kCandidate.name).toBe(jCandidate.firstName + ' ' + jCandidate.lastName);
expect(kCandidate.jobId).toBe(jCandidate.job.eId);
done();
});
我看不出在您标记的行上会出现错误,但我希望在
jCandidate.job.eId='1235;'代码>行,因为您从未创建jCandidate.job
子对象。尝试替换:
jCandidate.job.eId = '1235';
jCandidate.job.title = 'Test Job Title';
与: