网络编程
位置:首页>> 网络编程>> Python编程>> Python编写单元测试代码实例

Python编写单元测试代码实例

作者:Jimmyhe  发布时间:2022-11-02 12:27:09 

标签:Python,单元,测试

做一个简单的小实例:

目录结构如下:

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实例化运行。

运行结果:

Python编写单元测试代码实例

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


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

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

运行结果:

Python编写单元测试代码实例

同时我们还可以在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')

来源:https://www.cnblogs.com/jimmyhe/p/10852764.html

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com