在视图中测试模块的最佳方法是什么?

拉克莫

我已经浏览了这篇文章,但它没有包含任何相关的答案。我正在使用Django 1.11,并且我的views.py是模块化的(不是基于类的)。

我想在 django 的 python shell 中测试 shell 中的视图模块(函数)。

>>> python manage.py shell

通过直接导入视图,如:

>>> from my_app import views

它有效,但这似乎不是我的首选方式。

有没有首选的方法,或者我应该在 shell 中从 django 导入视图还是直接复制函数?这方面的最佳做法是什么?

白色4

因此,只为视图编写 Django 测试而不是尝试从 shell 运行它们会更好,因为它们将是相同的代码,但您将能够轻松地多次运行测试。

因此,要为单个视图创建测试,您需要在 django 应用程序中创建一个 tests.py 并使用 django 的测试客户端为该视图编写测试。这个测试客户端是一个虚拟的 web 浏览器,可用于发出 http 请求。一个简单的 tests.py 看起来像这样:

from django.tests import TestCase, Client

class MyViewsTestCase(TestCase):

    def setUp(self):
        self.client = Client() #This sets up the test client

    def test_my_view(self):
        # A simple test that the view returns a 200 status code
        # In reality your test needs to check more than this depending on what your view is doing
        response = self.client.get('the/view/url')
        self.assertEqual(response.status_code, 200)

然后您将使用命令python manage.py testdjango-admin test从您的终端运行它

同样,您可以从 shell 执行此操作,但从长远来看,使用测试框架会更好

Django 有一些关于编写和运行测试的好文档:https : //docs.djangoproject.com/en/2.0/topics/testing/overview/

和有关测试客户端的信息以及其他一些测试工具:https : //docs.djangoproject.com/en/2.0/topics/testing/tools/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在单个视图中组织多个ASP .Net MVC视图模型的最佳方法是什么?

在 MVC 程序的视图中将类型转换为列表的最佳方法是什么?

在滚动时更改视图中特定div的背景颜色的最佳方法是什么?

测试孩子的孩子的最佳方法是什么?

mlr:测试FailureModel的最佳方法是什么?

进行集成测试的最佳方法是什么?

Pytest 最小工作示例:收集了测试但找不到模块。配置测试集合的最佳方法是什么?

颤振 设计数据表以使其适合垂直视图中的全屏显示的最佳方法是什么?

在SwiftUI视图中两次引用同一路径的最佳方法是什么?

从ESModules中的复杂路径导入模块的最佳方法是什么

导入es6模块的最佳方法是什么?

要求节点模块var或const的最佳方法是什么?

部署npmjs私有模块的最佳方法是什么?

带ES6模块的TypeScript的最佳方法是什么?

在nodejs中定义模块变量的最佳方法是什么?

在功能模块中声明服务的最佳方法是什么?

在intellij中导入新的python模块的最佳方法是什么?

在视图中输入星期几的简单方法是什么?

在 Django 中编写多个聚合视图的最佳方法是什么?

在 Swift 中创建相同视图的最佳方法是什么?

清除或重置Laravel缓存视图的最佳方法是什么?

在SwiftUI中切换视图的最佳方法是什么?

在 Django 中编写基于函数的视图的最佳方法是什么?

在单元测试中隔离“单元”的最佳方法是什么?

放心:测试原始响应体的最佳方法是什么?

用Lab测试HapiJS插件的最佳方法是什么?

预测外部测试集的最佳方法是什么?

测试是否安装了sklearn模型的最佳方法是什么?

在Linux中测试程序性能的最佳方法是什么