重置MySQL自动递增作为Node.js单元测试中的拆除步骤

时间:2012-01-07 01:12:17

标签: mysql unit-testing node.js express

我目前正在Node.js应用中对我的DAL运行单元测试。我希望能够使用虚拟数据库,使用在整个测试过程中进行的非正式设置/拆卸来测试我的CRUD操作。例如,通过执行插入来进行设置,并通过删除来进行拆卸。

我正在测试数据库而不是模拟/伪造,因为我更倾向于针对数据库的半工作副本测试复杂的SQL。

我遇到的问题是在AUTO_INCREMENT的列上,我不能指望ID有任何一致性。通过重置AUTO_INCREMENT我可以避免这种情况,但后来我会做很多复制粘贴编码,在我的所有模型中插入一个方法。

我有什么方法可以做到这一次并忘记它吗?或者是否有一种我完全缺失的更好的做法?

1 个答案:

答案 0 :(得分:2)

您可以使用MySQL的TRUNCATE TABLE命令,该命令清空表并重置AUTO_INCREMENT列。实际上,它会丢弃表并重新创建它,这比删除所有行更快。