Javascript 如何防止Jest在每个测试套件之前重新导入模块?

Javascript 如何防止Jest在每个测试套件之前重新导入模块?,javascript,jestjs,Javascript,Jestjs,我有一个factory函数,用于创建电子邮件地址中数字递增的数据库用户,因为它是唯一的字段: let a = 0; function createUser() { User.create({ email: `user-${a}@email.com`, }); a++; } 我在几个测试套件中使用它。然而,Jest的默认测试运行程序似乎在每个套件之前重置模块缓存并重置计数器,因此我得到了唯一的索引冲突 我的解决方法是生成随机电子邮件地址。有没有办法防止

我有一个factory函数,用于创建电子邮件地址中数字递增的数据库用户,因为它是唯一的字段:

let a = 0;

function createUser() {
    User.create({
        email: `user-${a}@email.com`,
    });

    a++;
}
我在几个测试套件中使用它。然而,Jest的默认测试运行程序似乎在每个套件之前重置模块缓存并重置计数器,因此我得到了唯一的索引冲突

我的解决方法是生成随机电子邮件地址。有没有办法防止模块缓存被重置?我在任何地方都没有看到记录


注意:我使用
--runInBand
运行测试,以防止在使用数据库时出现各种问题。

使用生成的电子邮件地址是一个不错的选择,甚至可以将电子邮件地址作为UUID?