事务性测试的续集



是否可以将每个sequelize测试封装在事务中,并在每个测试结束时回滚?建议用sequelize来实现这一点的方法是什么?

此外,如果测试中的代码也在打开一个事务,它会起作用吗?(嵌套事务)

感谢

我不认为Sequelize支持嵌套事务。

听起来你试图在测试之间保持隔离,这样一个测试中的更改就不会影响另一个测试。我的团队通过在beforeEach声明中用fixture数据填充测试数据库,并在afterEach声明中截断受影响的表来实现这一点。使用这种方法,测试运行得相当快。

为了保持测试的有效运行,您可以缩小清理步骤的重点,并将每个describe块配置为只截断受每个测试块影响的少数表。例如,如果您正在测试User模型,请在该文件中添加一个afterEach,该文件只会截断User表。

最新更新