Django和Rest框架:如何在不将测试耦合到模型结构的情况下测试模型写入视图

时间:2017-11-19 19:04:43

标签: python django testing django-rest-framework

我想测试一个带有JSON的Django视图,使用DRF序列化器的is_valid方法对其进行反序列化(这可能会改变某些数据,例如通过将字符串值设置为小写),然后将验证的数据保存到新模型中实例。例如:

from .models import Foo
from .serializers import FooSerializer

@api_view(['POST'])
def save_foo(request):
    foo_data = request.data
    s = FooSerializer(data=foo_data)
    if s.is_valid():
       validated_foo_data  = s.validated_data
       foo_instance = Foo.objects.create(**validated_foo_data)

如何测试此视图是否正确保存了所有数据,这是一种高效,干燥的方法来测试此视图,而不会将我的测试过多地与Foo模型的模式或FooSerializer中的验证功能相结合?

基本上我想要一个测试,检查请求中传递的数据是否得到验证并保存到模型中,而不需要测试知道验证或模型的特性。

0 个答案:

没有答案