码迷,mamicode.com
首页 > 编程语言 > 详细

python单元测试编写

时间:2019-05-12 17:03:57      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:测试方法   png   运行   dem   rtt   python   port   height   pytho   

  做一个简单的小实例:

  目录结构如下:技术图片

demo1.py

class MyClass():

    def __init__(self,x,y):
        self.x = x
        self.y = y

    def add(self):

        return self.x + self.y

    def sub(self):

        return self.x - self.y

 

import unittest
from unittset_demo.demo1 import MyClass


class MyclassTest(unittest.TestCase):
    def setUp(self) -> None:
        ‘‘‘
        测试之前的准备工作
        :return:
        ‘‘‘
        self.clac = MyClass(4,3)

    def tearDown(self) -> None:
        ‘‘‘
        测试之后的收尾
        如关闭数据库
        :return:
        ‘‘‘
        pass

    def test_add(self):
        ret = self.clac.add()
        self.assertEqual(ret,9)  

    def test_sub(self):
        ret = self.clac.sub()
        self.assertEqual(ret,-1)

if __name__ == __main__:
    suite = unittest.TestSuite()
    suite.addTest(MyclassTest(test_add))
    suite.addTest(MyclassTest(test_sub))

    runner = unittest.TextTestRunner()
    runner.run(suite)

 

 setUp就是帮我们做测试前的准备工作,比如实例化等,

tearDown可以帮我们关闭数据库等收尾操作,

一般测试方法必须以test_开头,里面可以写我们需要测试的业务逻辑,同时指定self.assertEqual()将我们的结果和运行的实际结果进行比对。

suite就是我们的测试集,之后添加测试用例,用runner实例化运行。

 

运行结果:

技术图片

如果我们将预计的结果写错,

    def test_add(self):
        ret = self.clac.add()
        self.assertEqual(ret,2)

    def test_sub(self):
        ret = self.clac.sub()
        self.assertEqual(ret,3)

运行结果:

技术图片

 

  同时我们还可以在django的test文件中测试自己的用例:

class StudentTest(TestCase):

  def setUp(self);
    Student.objects.create(name=jack,age=13)

  def test_student_create(self):
    obj = Student.objects.get(name=jack)
    self.assertEqual(obj.age,18)

 

  测试是使用的模板是否正确,在terminal中输入:python manage.py test 即可测试

  class HomeTest(TestCase):

    def test_home_page_renders_home_template(self):

      response = self.client.get(/home/)   # 模拟浏览器

      self.assertEqual(response.status_code,200)

      self.assertTemplateUsed(response,home.html)

 

  

python单元测试编写

标签:测试方法   png   运行   dem   rtt   python   port   height   pytho   

原文地址:https://www.cnblogs.com/jimmyhe/p/10852764.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!