django setUpTestData 不运行

问题描述 投票:0回答:1

这是我的测试:

class FirstTestCase(TransactionTestCase):
    @classmethod
    def setUpTestData(cls):
        Car.objects.create(id=10001)

    def findAllCars(self):
        print(list(Car.objects.all()))

这不会给出任何错误,并且列表只是打印为 [],显然它应该是 [10001]

我知道测试不应该包含打印语句,这只是一个简单的方法来说明由于某种原因 setUpTestData 中的对象没有被创建。我怎样才能用它来制作这个物体?

django testing django-models django-testing
1个回答
0
投票
仅当您的测试继承自

setUpTestData

 但不继承于 
APITestCase
 时,才会运行 
APITransactionTestCase
:

from rest_framework.test import APITestCase


class ExampleTestCase(APITestCase):

    @classmethod
    def setUpTestData(cls):
        print("This is setUpTestData")

    def test_something(self):
        print("This is the test")
        self.assertTrue(True)
© www.soinside.com 2019 - 2024. All rights reserved.