【问题标题】:Should I test my generic DetailView in Django我应该在 Django 中测试我的通用 DetailView
【发布时间】:2015-07-20 04:33:36
【问题描述】:

我对 TDD 很陌生,正在尝试创建我的第一个 Djagno 应用程序并进行测试。当谈到通用视图时,我有点困惑。我已经阅读了几个地方(包括官方文档),每个视图都应该有与之相关的测试。但我也读到你应该避免测试 Django 内部,因为它是不必要的。

所以如果我有这样的看法:

class ClinicView(DetailView):
    model = Clinic
    template_name = "directory/clinic.html"

它使用通用视图并且工作正常,我应该为它编写一个测试吗?

我的直觉是我不应该这样做,因为我使用的是通用视图,但并没有真正找到太多可以告诉我我的感觉是否正确。在这方面有哪些最佳实践?或者,如果我将我的代码交给其他人维护,对我的期望是什么?我是否应该至少编写一个测试以确保我的模型和模板存在?提前致谢。

【问题讨论】:

    标签: django unit-testing django-generic-views


    【解决方案1】:

    您希望避免过度测试。您应该只为自定义逻辑或经常更改的事物编写测试。

    例如,如果 Clinic 模型有一个复杂的方法来计算某些结果,那么您需要进行测试以确保它按照您的想法进行。

    如果您经常更改某些内容并且其他人可能会进来并进行更改,那么您需要进行测试以确保在更改后它仍然可以正常工作。 Django 视图已经过测试。除非您向 View 添加一堆自定义逻辑(无论如何您可能应该将其放入 ModelManager 中),否则使用自动化测试重复测试它是没有意义的。

    测试很棒,我喜欢它!但我讨厌维护它,所以我不打算全面覆盖。一旦你用测试覆盖了你的自定义代码,你就会通过测试每一小块得到递减的回报。

    我曾经在一家有点疯狂的公司工作,希望我为自动化测试编写测试。不要像他们一样(:

    【讨论】:

      猜你喜欢
      • 2016-05-31
      • 2014-09-27
      • 2011-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-23
      • 1970-01-01
      相关资源
      最近更新 更多