在序列化器测试中设置 kwargs
我编写了一个序列化器,在其中的 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())
I wrote a serializer in which I used the kwargs in its validate() .
here is it:
def validate(self, value):
course_id = self.context.get("view").kwargs.get("course_id ")
....
now I want to write a test but I don't know how to pass the kwargs to it.
here is the test I am trying to write:
def test_valid_data(self):
serializer = CourseSerializer(
data=self.course,
)
self.assertTrue(serializer.is_valid())
I test this but it didn't work:
def test_valid_data(self):
serializer = CourseSerializer(
data=self.course,
kwargs={
"course_id": test_course_id
},
)
self.assertTrue(serializer.is_valid())
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以在序列化器中发送带有附加字段的上下文。
并在序列化器中使用上下文。
You can send context in your serializer with additional fields.
and get using context inside your serializer.