我正在使用jest(与node.js环境中的typescript结合使用)来测试真实的文件系统(而不是模拟文件),以确定文件内容是否符合预期结果。
我的测试如下所示:
test("getting a existing template", async () =>{
await get_template(template_name).then((template)=>{
console.log('template: ', template);
expect(template).toBe(user_input_template);
});
});
函数get_template()的实现方式如下:
export async function get_template(template_name: string) {
let path = join(__dirname, `../templates/template-data/${template_name}.hbs`);
return await read_template(path).then((data) => {
console.log('common.ts: ',data);
return data;
});
}
read_template()函数如下所示:
export async function read_template(path: string){
return readFileSync(path).toString();
}
手动调用 get_template()
功能如下:
await get_template('template_name');`
收到正确的输出字符串。但是当通过jest测试环境调用函数时,只返回一个空字符串。
我是否选择了错误的测试方法,是否在测试这个异步函数时犯了明显的错误,或者这是jest的一个问题?
暂无答案!
目前还没有任何答案,快来回答吧!