首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我应该在单元测试中测试视图的属性吗?

我应该在单元测试中测试视图的属性吗?
EN

Stack Overflow用户
提问于 2017-03-06 22:42:14
回答 1查看 260关注 0票数 2

我想知道单元测试Django视图的正确方法是什么,例如这个:

代码语言:javascript
复制
class UserListView(LoginRequiredMixin, ListView):

    model = get_user_model()
    template_name = 'users/user_list.html'
    ordering = 'last_name'

    def get_queryset(self):
        self.queryset = self.model.objects.all().annotate(
            full_name=Concat('first_name', Value(' '), 'last_name')
        )
        return super().get_queryset()

我目前正在测试get_queryset方法。这给了我100%的这个视图的覆盖率,但我是否也应该测试,例如,在单元测试中的默认排序?或者应该只在集成/系统测试中进行测试(例如使用Selenium或Django的客户端)?

一方面,ordering属性是视图的一部分,它影响视图的行为,另一方面,它仅由第三方代码使用。

EN

Stack Overflow用户

发布于 2017-03-06 22:50:34

在我看来,是的,你应该为此增加一个测试。一方面,可以打赌Django已经有了一个测试,以确保这个属性能够像广告中所显示的那样工作(Django有很好的测试覆盖率)。

但是,我的推理是这样的:假设上游ListView决定将该属性的名称更改为其他属性。比如说,他们把它改名为list_ordering

快进7个月后,您可以使用Django的版本号来尝试一些闪亮的新特性。写UserListView现在已经是一个遥远的记忆了。作为一名开发人员,您想知道您所要求的默认顺序在较新版本Django中已经停止工作,这里的一个失败的测试将向您展示这一点--它将提请您注意您的代码中需要现在更新的某些区域。

当然,在升级第三方库时,我们应该仔细阅读发行说明,但是更好的是有直接与您交谈的测试!

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42636982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档