我正在使用LiveServerTestCase
在Django应用程序中使用selenium进行功能测试。我使用sqlite3作为本地开发的后端,并且我在端口8081
上使用本地开发服务器运行测试。
我为用户注册编写了一个测试,当我不止一次运行此测试时,我看到测试失败,因为我的表单引发了一个错误,说用户已经存在。当我删除sqlite3数据库文件并运行重新运行迁移时,我可以再次运行测试并且工作正常(但再次运行将失败)。
我认为每次运行类中的测试时,这个类都会使用一个新的数据库,但是我遇到了错误。
我的问题是:
是否有另一种方法可以使用LiveServerTestCase
运行测试,以便每次我想运行测试时都不必删除sqlite3数据库?
编辑:
以下是我的问题基于的文档的其他部分:
LiveServerTestCase
LiveServerTestCase与TransactionTestCase基本相同 一个额外的功能:它在后台启动一个实时Django服务器 在设置上,并在拆解时将其关闭。这允许使用 除了Django虚拟客户端之外的自动测试客户端,例如 例如,Selenium客户端,执行一系列功能测试 在浏览器中并模拟真实用户的操作。
TransactionTestCase
在每次测试开始时将数据库重置为已知状态 轻松测试和使用ORM。