Django unittest 单元测试

这里就不再介绍单元测试的作用了。

首先单元测试的创建方式有两种,一种是app下面的test文件,另一种是自定义方式创建

 

 

方法一、使用test.py文件测试

from django.test import TestCase

# Create your tests here.
# -*- coding: utf-8 -*-
# __author__ = 'dandy'
from rest_framework.test import APIRequestFactory


class TestOrderAPI(TestCase):

    def setUp(self):
        self.factory = APIRequestFactory()
        print('starting')

    def test_name1(self):
        """
        测试创建订单

        :return:
        """
        print('testing name111 ...........')
        name = 'dandy'
        self.assertEqual(name, 'dandy')
        print('test name success !!!')

    def test_age1(self):
        """
        测试创建订单

        :return:
        """
        print('testing age111 ...........')
        age = 18
        self.assertEqual(age, 17)
        print('test age success !!!')

调用

也可以这样调用

python3 manage.py test app01.tests

直接test会进行全局查找,而上面的命令是对于各个子测试的执行

 

方法二、自定义文件

如下格式创建文件目录

 1 # -*- coding: utf-8 -*-
 2 # __author__ = 'dandy'
 3 
 4 from django.test import TestCase
 5 from rest_framework.test import APIRequestFactory
 6 
 7 
 8 class TestOrderAPI(TestCase):
 9 
10     def setUp(self):
11         self.factory = APIRequestFactory()
12 
13 
14     def test_name(self):
15         """
16         测试创建订单
17 
18         :return:
19         """
20         print('testing name ...........')
21         name = 'dandy'
22         self.assertEqual(name, 'dandy')
23         print('test name success !!!')
24 
25 
26     def test_age(self):
27         """
28         测试创建订单
29 
30         :return:
31         """
32         print('testing age ...........')
33         age = 18
34         self.assertEqual(age, 17)
35         print('test age success !!!')
View Code

执行

此时如果执行test命令

 1 from django.test import TestCase
 2 from rest_framework.test import APIRequestFactory
 3 from api.test.util.mock_data import data_create_order
 4 from api import views
 5 from backend.models import User
 6 from backend.constant import Constant
 7 
 8 class TestOrderAPI(TestCase):
 9     """
10     订单接口测试用例
11     """
12 
13     def setUp(self):
14         self.factory = APIRequestFactory()
15 
16     def test_create(self):
17         """
18         测试创建订单
19 
20         :return:
21         """
22         request = self.factory.post('/order/', data_create_order, format='json')
23         response = views.OrderCreateView.as_view()(request)
24         self.assertEqual(response.data['code'], 20000)
25 
26     def test_order_detail(self):
27         """
28         获取订单详情
29 
30         :return:
31         """
32         request = self.factory.post('/order/', data_create_order, format='json')
33         response = views.OrderCreateView.as_view()(request)
34 
35         order_no = response.data['data']['order_no']
36         url = '/order/%(number)s/' % {'number': order_no}
37         request = self.factory.get(url)
38         response = views.OrderDetailView.as_view()(request, number=order_no)
39         self.assertEqual(response.data['code'], 20000)
实战

更多基础知识

https://www.jianshu.com/p/34267dd79ad6

https://docs.djangoproject.com/en/2.1/topics/testing/

 

转载于:https://www.cnblogs.com/wuzdandz/p/9724925.html

更多相关推荐

Django 单元测试unittest

在使用Django框架开发代码中,我们写好代码后,运行开发服务器,在自己的浏览器上点击测试查看...

继续阅读

unittest单元测试

unittest单元测试一、单元测试二、unittest的重要组成一、单元测试颗粒度最小,一般由开发小组...

继续阅读

单元测试-unittest

单元测试单元测试UnittestUnittest核心分为四个TestCase+断言断言TestSuite生成测试报告(重点...

继续阅读

unittest单元测试

1.背景到了公司发现,ut(单元测试)是非常重要的一部分,ut并不是完全是测试的同学完成,很多...

继续阅读

unittest单元测试

文章目录UnittestTestFixture:TestCase测试用例TestSuite测试套件TextTestRunner执行测试用例...

继续阅读

unittest单元测试

java的单元测试框架Junit和TestNG,python里面也有单元测试框架-unittest,相当于是一个python...

继续阅读

python单元测试unittest

 1、基本信息2、运行测试用例:注意点:1、函数名前面一定要加test,否则运行结果会说运行0个...

继续阅读

python单元测试unittest

单元测试颗粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合“设计”;是指对...

继续阅读

Flask 单元测试 unittest

           转载于:https://www.cnblogs.com/yanxiatingyu/p/10399757.html

继续阅读

Python单元测试unittest

Python中有一个自带的单元测试框架是unittest模块,用它来做单元测试,它里面封装好了一些校验...

继续阅读