gpt4 book ai didi

python - 如何将 TDD 应用于基于 Django 类的通用 View ?

转载 作者:IT老高 更新时间:2023-10-28 20:22:12 25 4
gpt4 key购买 nike

由于 Django 中基于类的通用 View 涉及框架的一些工作,我发现很难以 TDD 风格使用它们。现在我使用 TestClient 从 http 模拟堆栈访问 View ,但我更愿意在使用 TestClient 进行“功能”测试之前正确地对特定方法进行单元测试(例如覆盖 get_object 和 get_queryset )。

是否有(快速)方法来获取 ClassView 的适当实例以对其执行单元测试?

最佳答案

通常,这包括通过 RequestFactory 创建请求并使用关键字参数实例化 View 类。之后,您可以调用任何 View 方法并评估结果,并传递任何所需的参数。

我建议您查看基础 View类,特别是 __init__ , as_viewdispatch方法。它们对于理解框架如何与 View 对象交互至关重要。

需要注意的最重要一点是 View 方法期望在请求-响应过程中被调用,因此它们可以依赖于 self.requestself.args self.kwargs 在它们被调用之前就已经存在,所以请确保你已经涵盖了。

关于python - 如何将 TDD 应用于基于 Django 类的通用 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8603035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com