Django测试TransactionTestCase在执行SQL请求之前执行

时间:2020-04-27 07:50:20

标签: sql django postgresql testing psql

我正在测试以检查批量插入是否正常工作。 process_products_data 方法格式化输入数据,创建一些sql请求作为字符串,然后连接到db并执行它们。

运行测试时,它失败并随机成功。 我以拆解方法显示了存储在db中的数据,并且可以观察到,如果测试失败,则db不能正确填充,就像 process_products_data 方法没有触发或位于中间。是工作。

有什么主意如何强制测试等待 process_products_data 方法结束?

class TestCaseCreation(TransactionTestCase):

    fixtures = ['test_1']

    products = [
        {
            'internal_code': '403273',
            '_type': 'dict',
            'description': 'Abc',
            'brand': 'my brand',
            'creation_date': 1587543189737.0,
            'name': 'my name'
        }
    ]

    maxDiff = None

    def setUp(self):
        shop = Shop.objects.get(pk=1)

        process_products_data(self.products, shop)


    def test_creation(self):

        self.assertEqual(...)
        self.assertEqual(...)

0 个答案:

没有答案