Django-10-测试用例入门

一、这里的测试

这里说的测试,不是测试专业里面的测试,而是开发者对自己开发的Django程序进行自己的测试,也可以成为单元测试。
测试的介绍,没有多少可以说的,直接上代码。

二、编写第一个测试

我们就在TodoApp中进行测试。
按照惯例,Django 应用的测试应该写在应用的 tests.py 文件里。测试系统会自动的在所有文件里寻找并执行以 test 开头的测试函数。

from django.test import TestCase


# 测试类以Test结尾
class TodoAppModelTests(TestCase):
    # 第一测试,测试方法以test开头
    def test_first(self):
        self.assertEqual(1 + 12)

命令行运行

python .manage.py test TodoApp

生成测试日志

Django-10-测试用例入门
image.png


也可以点击IDE中的测试按钮

Django-10-测试用例入门
image.png


Django-10-测试用例入门
image.png


可以上面测试用例,没有意义啊,是的,确实没有意义。下面开始有意义的。


三、测试模型层

    def test_model(self):
        todoM = TodoModel(todoName='学习Python')
        self.assertEqual(todoM.todoName, '学习Python')

四、测试视图

4.1 Django 测试工具之 Client

Django 提供了一个供测试使用的 Client 来模拟用户和视图层代码的交互。我们能在 tests.py 甚至是 shell 中使用它。

4.1.1 在shell中使用

python.exe .manage.py shell

进入shell

Django-10-测试用例入门
image.png


Django-10-测试用例入门
image.png


shell工具的测试,不太方便,通过写代码方式来实现


4.1.2 代码测试视图

 def test_index_view(self):
        response = self.client.get('todo/index/')
        self.assertEqual(response.status_code, 200)
Django-10-测试用例入门
image.png

4.1.3 通过reverse反向解析url

    def test_index2_view(self):
        response = self.client.get(reverse('TodoApp:index'))
        self.assertEqual(response.status_code, 200)


原文始发于微信公众号(Python之家):Django-10-测试用例入门

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/198121.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!