不要通过测试影响数据库

时间:2011-12-02 17:24:57

标签: php symfony functional-testing

在symfony 1.x中,使用一些代码可以在没有修改数据库的情况下运行测试。例如,我的一个测试测试用户的注册。执行此测试后,用户始终在数据库中。 如何在不永久修改数据库的情况下执行测试?

1 个答案:

答案 0 :(得分:2)

首先,Alexandre撰写了this篇优秀文章,介绍了如何在每次测试后回滚数据库。

使用sqlite作为test-database也是可能的,因为它在内存中,因此速度更快。 This article描述了如何执行此操作。如果您需要在测试之间处理数据,例如创建对象然后编辑它,这种方法很方便。这不是很好的实践,但有时候无处可去。

我使用拆分方法,拥有一个sqlite数据库以提高速度,并在每次测试后进行回滚,如Alexandre所述。效果很好: - )