【发布时间】:2017-08-21 05:28:40
【问题描述】:
我正在使用 mysql-server 和 MySQLdb 来访问我的数据库。我什至没有使用 django 模型来访问数据库表。
现在问题出现在测试中。所有 django 文档都在谈论使用 django 模型进行测试。在测试数据时,我必须使用cursor.execute() 函数将数据插入数据库,然后我必须从中读取。但这浪费了我的时间。
TestCase 类也在事务中运行所有数据库查询,我怀疑这对于 mysql-server 和 myqldb 是否相同?
我正在使用 MySQLdb,因为它比 django 模型快。谁能告诉我如何使测试更简单?如何在 django 中测试数据库?
【问题讨论】:
-
您是否考虑过使用
TestCase类django-testing-docs.readthedocs.io/en/latest/… 的setUp和tearDown方法?由于您没有使用 Django 模型进行创建和更新,因此 django TestCase 在事务中运行查询 的语句不适用。 -
是的,现在我正在使用两者。在设置中,我将数据插入表中,在拆卸中,我将删除这些数据。但这些都是在实际数据库上进行的。有什么方法可以像 django 那样创建测试数据库进行测试。
标签: python mysql django unit-testing automated-tests