我对 TDD 非常陌生,正在尝试通过测试创建我的第一个 Djagno 应用程序。当谈到一般观点时,我有点困惑。我读过几个地方(包括官方文档),每个 View 都应该有与之相关的测试。但我也读到您应该避免测试 Django 内部结构,因为这是不必要的。
所以如果我有这样的 View :
class ClinicView(DetailView):
model = Clinic
template_name = "directory/clinic.html"
它使用通用 View 并且工作正常,我应该为它编写一个测试吗?
我的直觉是我不应该这样做,因为我使用通用 View ,但还没有真正找到太多东西来告诉我我的感觉是否正确。对此,最佳实践是什么?或者,如果我将我的代码交给其他人维护,会对我有何期望?我至少应该编写一个测试来确保我的模型和模板存在吗?提前致谢。
最佳答案
您希望避免过度测试。您应该只为自定义逻辑或经常更改的内容编写测试。
例如,如果 Clinic 模型有一个复杂的方法来计算一些结果,您可能需要进行测试以确保它按照您的想法进行操作。
如果您经常更改某些内容,并且其他人可能会进行更改,那么您需要进行测试以确保它在更改后仍然有效。 Django View 已经过测试。除非您向 View 添加一堆自定义逻辑(无论如何您可能应该将其放入模型管理器中),否则没有必要使用自动化测试重复测试它。
测试很棒,我喜欢它!但我讨厌维护它,所以我的目标不是完全覆盖。一旦你用测试覆盖了你的自定义代码,你就会通过测试每一个小片段而获得递减的返回。
我曾经在一家有点疯狂的公司工作,希望我为自动化测试编写测试。不要像他们一样(:
关于django - 我应该在 Django 中测试我的通用 DetailView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31508899/