在序列化器测试中设置 kwargs
set kwargs in test of serializer
我编写了一个序列化程序,在其中我在其 validate() 中使用了 kwargs。
在这里:
def validate(self, value):
course_id = self.context.get("view").kwargs.get("course_id ")
....
现在我想写一个测试,但我不知道如何将 kwargs 传递给它。
这是我正在尝试编写的测试:
def test_valid_data(self):
serializer = CourseSerializer(
data=self.course,
)
self.assertTrue(serializer.is_valid())
我对此进行了测试,但没有用:
def test_valid_data(self):
serializer = CourseSerializer(
data=self.course,
kwargs={
"course_id": test_course_id
},
)
self.assertTrue(serializer.is_valid())
您可以在序列化程序中发送带有附加字段的上下文。
CategorySerializer(data=self.category,context={'request': request,'course_id': test_course_id})
并在序列化程序中使用上下文。
course_id = self.context.get('course_id')
我编写了一个序列化程序,在其中我在其 validate() 中使用了 kwargs。 在这里:
def validate(self, value):
course_id = self.context.get("view").kwargs.get("course_id ")
....
现在我想写一个测试,但我不知道如何将 kwargs 传递给它。
这是我正在尝试编写的测试:
def test_valid_data(self):
serializer = CourseSerializer(
data=self.course,
)
self.assertTrue(serializer.is_valid())
我对此进行了测试,但没有用:
def test_valid_data(self):
serializer = CourseSerializer(
data=self.course,
kwargs={
"course_id": test_course_id
},
)
self.assertTrue(serializer.is_valid())
您可以在序列化程序中发送带有附加字段的上下文。
CategorySerializer(data=self.category,context={'request': request,'course_id': test_course_id})
并在序列化程序中使用上下文。
course_id = self.context.get('course_id')