Python 提供django单元测试的初始数据

Python 提供django单元测试的初始数据,python,sql,django,unit-testing,Python,Sql,Django,Unit Testing,我正在开发一个Django应用程序,它有很多单元测试 其中一些在非托管模型上测试功能(Manage=False)。为了测试它们,在setUpClass中有一些sql文件的执行 现在,在Django 1.11.2上升级之后,在执行sql文件的过程中会出现一些警告 警告如下: Warning: Unknown table '<table name>' return self.cursor.execute(query, args) 警告:未知表“”返回self.cursor.execut

我正在开发一个Django应用程序,它有很多单元测试
其中一些在非托管模型上测试功能(Manage=False)。为了测试它们,在setUpClass中有一些sql文件的执行

现在,在Django 1.11.2上升级之后,在执行sql文件的过程中会出现一些警告
警告如下:

Warning: Unknown table '<table name>' return self.cursor.execute(query, args)
警告:未知表“”返回self.cursor.execute(查询,参数)
我搜索了此警告的原因,似乎它链接到sql文件,该文件在创建或删除表之前检查表是否存在

我会删除此警告,为此,我考虑将表放到tearDownClass中,以便删除sql文件中的
IF EXISTS
语句
我认为这种方法会使单元测试变慢,我不知道这是否是一种最佳实践

此外,我在Django文档中发现,它可以用于提供初始数据。从我的观点来看,关于如何在单元测试中使用fixture的文档不是很清楚,所以我问这个问题是为了了解如何解决这个问题的最佳实践/方法


提前谢谢

我不完全理解你的担心。但是,如果问题是加载初始数据(夹具)进行测试,则可以通过以下步骤完成:

class Test1(TestCase):
    fixtures = [
       "fixtures.json",
    ]

    def setUp(self):
        ...

    // test cases

关于

的更多信息我不完全理解您的担忧。但是,如果问题是加载初始数据(夹具)进行测试,则可以通过以下步骤完成:

class Test1(TestCase):
    fixtures = [
       "fixtures.json",
    ]

    def setUp(self):
        ...

    // test cases
更多有关