Djiteo LiveServerTestCase使用SQLite3

时间:2018-02-17 17:05:55

标签: django selenium testing sqlite functional-testing

我正在使用LiveServerTestCase在Django应用程序中使用selenium进行功能测试。我使用sqlite3作为本地开发的后端,并且我在端口8081上使用本地开发服务器运行测试。

我为用户注册编写了一个测试,当我不止一次运行此测试时,我看到测试失败,因为我的表单引发了一个错误,说用户已经存在。当我删除sqlite3数据库文件并运行重新运行迁移时,我可以再次运行测试并且工作正常(但再次运行将失败)。

我认为每次运行类中的测试时,这个类都会使用一个新的数据库,但是我遇到了错误。

我的问题是:

是否有另一种方法可以使用LiveServerTestCase运行测试,以便每次我想运行测试时都不必删除sqlite3数据库?

编辑:

以下是我的问题基于的文档的其他部分:

LiveServerTestCase

  

LiveServerTestCase与TransactionTestCase基本相同   一个额外的功能:它在后台启动一个实时Django服务器   在设置上,并在拆解时将其关闭。这允许使用   除了Django虚拟客户端之外的自动测试客户端,例如   例如,Selenium客户端,执行一系列功能测试   在浏览器中并模拟真实用户的操作。

TransactionTestCase

  

在每次测试开始时将数据库重置为已知状态   轻松测试和使用ORM。

0 个答案:

没有答案