typescript 单元测试 测试private protected 方法

最开始使用的为people[‘excrete’]或people: any = new People();这两种方法来测试,但是问题是当方法的参数变更测试文件不能检查到。
更好的方法:
需要测试的class

class People {
	protected status: string;
	construct(public name: string, sex: 'male'|'female', age: number) {
	}
	private excrete(): void {
		this.status = '撒尿中';
	}
	public talk(who: string) {
		this.status = `正在与${who}谈话中`;
	}
}

测试

describe('people unit test', () => {
	it('function excrete test', () => {
		let people = new People('Peter', 'male', 18);
		// @ts-ignore
		people.excrete();
		// @ts-ignore
		expect(people.status).toEqual('撒尿中');
	})
});

你可能感兴趣的:(typescript)