晚上好,我尝试编写集成测试。
但是,我坚持使用数据库,当我做sequelize.sync({ force: true })
时,出现一些错误,它是随机的。
现在,我所有的测试如下:
const CategoryModel = require('../CategoryModel'); // sequelize model
beforeAll(async () => {
await CategoryModel.sync({ force: true });
await CategoryModel.bulkCreate([ /* data for insert */ ]);
});
// then there are tests
使行为奇怪,随机抛出错误:
1. bulkCreate() - [SequelizeDatabaseError]: Table 'shop_test.categories' does not exist
2. bulkCreate() - [SequelizeUniqueConstraintError]: Validation error. (Duplicate entry 'spoons' for key 'categories.slug')
这怎么可能?
因为使用.sync()
的{{1}}方法删除表,然后使用架构创建新的方法
我开玩笑地说:
{ force: true }
我在做什么错了?