我正在尝试为api做一些测试,这里是代码:
tests.朋友
class APITest(APITestCase):
def setUp(self):
self.api_client = APIClient()
def test_get_lists(self):
response = self.api_client.get('/api/t/')
print(response.data)
self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_post_list(self):
response = self.api_client.post('/api/t/',
data={'user':1, 'title':'AAA'})
print(response.data)
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
view set.朋友
class TableViewset(ModelViewSet):
queryset = Table.objects.all()
serializer_class = TableSerializer
serialize认识.朋友
class TableSerializer(serializers.ModelSerializer):
lists = ListSerializer(many=True, read_only=True, required=False)
class Meta:
model = Table
fields = ('id', 'user', 'title', 'id', 'timestamp', 'lists')
def create(self, validated_data):
table = Table.objects.create(**validated_data)
return table
def update(self, instance, validated_data):
instance.title = validated_data.get('title', instance.title)
return instance
当我想在test.py中打印响应数据时,我得到一个空数组并且可以测试响应内容:
Response status_code=200, "application/json"
好的,所以解决方案是在测试中创建模型,因为我们在进行测试时无法使用db中的模型