我应该在 Django 中测试我的通用 DetailView
Should I test my generic DetailView in Django
我是 TDD 的新手,正在尝试创建我的第一个带有测试的 Djagno 应用程序。当涉及到通用视图时,我有点困惑。我已经阅读了几个地方(包括官方文档),每个视图都应该有与之相关的测试。但我也读到你应该避免测试 Django 内部,因为它是不必要的。
所以如果我有这样的观点:
class ClinicView(DetailView):
model = Clinic
template_name = "directory/clinic.html"
它使用通用视图并且工作正常,我应该为它编写一个测试吗?
我的直觉是我不应该这样做,因为我使用的是通用视图,但并没有真正找到太多可以告诉我我的感觉是否正确的东西。这方面的最佳做法是什么?或者,如果我将我的代码交给其他人维护,对我有什么期望?我是否应该至少编写一个测试来确保我的模型和模板存在?提前致谢。
您想避免过度测试。您应该只为自定义逻辑或经常更改的事物编写测试。
例如,如果 Clinic 模型有一个计算某些结果的复杂方法,您可能需要进行测试以确保它按照您的想法行事。
如果您经常更改某些内容并且其他人可能会进来更改,您需要进行测试以确保它在您更改后仍然可以正常工作。 Django 视图已经过测试。除非您向 View 添加一堆自定义逻辑(无论如何您都应该将其放入 ModelManager),否则没有必要使用自动化测试重复测试它。
测试很棒,我喜欢它!但我讨厌维护它,所以我的目标不是全面覆盖。一旦用测试覆盖了自定义代码,就可以通过测试每一小块来减少 returns。
我曾经在一家有点疯狂的公司工作,要我为自动化测试编写测试。不要像他们一样 (:
我是 TDD 的新手,正在尝试创建我的第一个带有测试的 Djagno 应用程序。当涉及到通用视图时,我有点困惑。我已经阅读了几个地方(包括官方文档),每个视图都应该有与之相关的测试。但我也读到你应该避免测试 Django 内部,因为它是不必要的。
所以如果我有这样的观点:
class ClinicView(DetailView):
model = Clinic
template_name = "directory/clinic.html"
它使用通用视图并且工作正常,我应该为它编写一个测试吗?
我的直觉是我不应该这样做,因为我使用的是通用视图,但并没有真正找到太多可以告诉我我的感觉是否正确的东西。这方面的最佳做法是什么?或者,如果我将我的代码交给其他人维护,对我有什么期望?我是否应该至少编写一个测试来确保我的模型和模板存在?提前致谢。
您想避免过度测试。您应该只为自定义逻辑或经常更改的事物编写测试。
例如,如果 Clinic 模型有一个计算某些结果的复杂方法,您可能需要进行测试以确保它按照您的想法行事。
如果您经常更改某些内容并且其他人可能会进来更改,您需要进行测试以确保它在您更改后仍然可以正常工作。 Django 视图已经过测试。除非您向 View 添加一堆自定义逻辑(无论如何您都应该将其放入 ModelManager),否则没有必要使用自动化测试重复测试它。
测试很棒,我喜欢它!但我讨厌维护它,所以我的目标不是全面覆盖。一旦用测试覆盖了自定义代码,就可以通过测试每一小块来减少 returns。
我曾经在一家有点疯狂的公司工作,要我为自动化测试编写测试。不要像他们一样 (: