javascript—使用jest测试真实文件系统返回空结果

nkkqxpd9  于 2021-10-10  发布在  Java
关注(0)|答案(0)|浏览(208)

我正在使用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的一个问题?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题