我有一个工厂函数,可以在电子邮件地址中创建递增编号的数据库用户,因为它是一个独特的字段:
let a = 0;
function createUser() {
User.create({
email: `user-${a}@email.com`,
});
a++;
}
我在几个测试套件中使用它。然而,似乎Jest的默认测试运行器在每个套件之前重置模块缓存并重置计数器,因此我得到了唯一的索引违规。
我的解决方法是生成随机电子邮件地址。有没有办法防止模块缓存被重置?我没有在任何地方看到它。
注意:我使用--runInBand
运行我的测试,以防止在使用数据库时出现各种问题。