用工厂男孩测试django柱
我刚开始在测试中使用它,它工作得很好 我想测试crud视图,所以在某个时候,我需要发布数据(json)以进行创建和更新操作 我希望我的测试内容是:用工厂男孩测试django柱,django,integration-testing,django-serializer,factory-boy,Django,Integration Testing,Django Serializer,Factory Boy,我刚开始在测试中使用它,它工作得很好 我想测试crud视图,所以在某个时候,我需要发布数据(json)以进行创建和更新操作 我希望我的测试内容是: a = self.client.post( my_url, json.dumps(my_factory.stub()), content_type="application/json") assert a.status_code == 403 这显然不起作用。 我得到的不是JSON可序列化的 有办法吗?或者我需要自己填写所有
a = self.client.post(
my_url,
json.dumps(my_factory.stub()),
content_type="application/json")
assert a.status_code == 403
这显然不起作用。
我得到的不是JSON可序列化的
有办法吗?或者我需要自己填写所有的post数据?
(我不是在测试表单本身或验证,只是测试post响应
Cheers
是django模型,不知道如何将自己表示为JSON
。您需要使用类似rest framework
中的ModelSerializer
之类的序列化程序,或者使用以下功能:
测试.py
from django.core import serializers
data = serializers.serialize('json', my_factory.stub(), fields=('id'))
a = self.client.post(
my_url,data,
content_type="application/json")
assert a.status_code == 403
请注意,使用django测试客户端进行的任何测试都将被most视为集成测试
这并不意味着这是一个糟糕的测试,我有很多测试,就像你的一样,但是它们是集成测试
如果您想让这更像是一个单元测试,请从中尝试setup\u view