Python编写单元测试代码实例

 更新时间:2020年09月10日 11:03:36   作者:Jimmyhe  
这篇文章主要介绍了Python编写单元测试代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

  做一个简单的小实例:

  目录结构如下:

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实现学生管理系统

    python实现学生管理系统

    这篇文章主要为大家详细介绍了python实现学生管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • 关于python tushare Tkinter构建的简单股票可视化查询系统(Beta v0.13)

    关于python tushare Tkinter构建的简单股票可视化查询系统(Beta v0.13)

    这篇文章主要介绍了python tushare Tkinter构建的简单股票可视化查询系统(Beta v0.13),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • 在Python中进行自动化单元测试的教程

    在Python中进行自动化单元测试的教程

    这篇文章主要介绍了在Python中进行自动化单元测试的教程,本文来自于IBM官方文档,需要的朋友可以参考下
    2015-04-04
  • 详解使用python crontab设置linux定时任务

    详解使用python crontab设置linux定时任务

    本篇文章主要介绍了使用python crontab设置linux定时任务,具有一定的参考价值,有需要的可以了解一下。
    2016-12-12
  • tensorflow 报错unitialized value的解决方法

    tensorflow 报错unitialized value的解决方法

    今天小编就为大家分享一篇tensorflow 报错unitialized value的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • python中resample函数实现重采样和降采样代码

    python中resample函数实现重采样和降采样代码

    今天小编就为大家分享一篇python中resample函数实现重采样和降采样代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • flask-script模块的具体使用

    flask-script模块的具体使用

    本文主要介绍了flask-script模块的具体使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • 浅析对torch.unsqueeze()函数理解

    浅析对torch.unsqueeze()函数理解

    torch.unsqueeze()函数起到升维的作用,dim等于几表示在第几维度加一,这篇文章主要介绍了对torch.unsqueeze()函数理解深度解析,感兴趣的朋友跟随小编一起看看吧
    2024-06-06
  • Python NaN空值的处理示例详解

    Python NaN空值的处理示例详解

    这篇文章主要介绍了Python NaN空值的处理,通过本文的介绍,对Python去掉数组中的空值NaN有了更加深入的了解,在实际的数据分析工作中,我们可以根据具体的情况选择合,需要的朋友可以参考下
    2023-11-11
  • python利用小波分析进行特征提取的实例

    python利用小波分析进行特征提取的实例

    今天小编就为大家分享一篇python利用小波分析进行特征提取的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01

最新评论