python-unittest单元测试

Posted jingw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-unittest单元测试相关的知识,希望对你有一定的参考价值。

技术图片技术图片

city_functions.py:

def get_city_country(city_name,country_name,population=‘‘):
if population:
full_city_country=city_name+‘, ‘+country_name+‘-‘+str(population)
else:
full_city_country=city_name+‘, ‘+country_name
return full_city_country.title()
# print(get_city_country(‘heibei‘,‘langf‘))

test_11_1.py
import unittest
from city_functions import get_city_country
class TestCityCase(unittest.TestCase):#类名有Test,继承unittest.TestCase
def test_city_country(self):#方法名必须以test开头,这样运行test_11_1.py时才会自动运行此方法
city_country_name=get_city_country(‘hebei‘, ‘langfang‘)
self.assertEqual(city_country_name,‘Hebei, Langfang‘)
def test_city_country_population(self):
city_country_population=get_city_country(‘beijing‘,‘beijing‘,500000)
self.assertEqual(city_country_population,(‘Beijing, Beijing-500000‘))
if __name__== ‘__main__‘:
unittest.main()
#在unittest.TestCase中6个常用的断言方法

unittest.TestCase.assertEqual(a,b)#核实a==b
unittest.TestCase.assertNotEqual(a,b)#核实a!=b
unittest.TestCase.assertTrue(x)#核实x为True
unittest.TestCase.assertFalse(x)#核实x为False
unittest.TestCase.assertIn(item,list)#核实item在list中
unittest.TestCase.assertNotIn(item,list)#核实item不在list中

技术图片

#setUp(),如果在TestCase类中包含setUp()方法,Python将先运行它,再运行其他以test开头的方法
#方法setUp(),让测试方法编写起来更容易,可在setUp()中,创建一系列实例并设置他们的属性,再在其他方法中使用这些实例

employee.py
class Employee():
def __init__(self,first_name,last_name,yearly_salary):
self.first_name=first_name
self.last_name=last_name
self.yearly_salary=yearly_salary
def give_raise(self,add_raise=5000):
self.yearly_salary+=add_raise
info=self.first_name+‘ ‘+self.last_name+‘ ‘+str(self.yearly_salary)
return info

test_11_3.py

import unittest
from python_book.employee import Employee
class TestEmployee(unittest.TestCase):
def setUp(self):
self.add_raise_person=Employee(‘jingjing‘,‘xing‘,20000)
self.add_default_raise=self.add_raise_person.give_raise()
self.add_custom_raise=self.add_raise_person.give_raise(10000)
def test_give_default_raise(self):
self.assertEqual(self.add_default_raise,‘jingjing xing 25000‘)
def test_give_custom_raise(self):
self.assertEqual(self.add_custom_raise,‘jingjing xing 35000‘)
if __name__==‘__main__‘:
unittest.main()




 

以上是关于python-unittest单元测试的主要内容,如果未能解决你的问题,请参考以下文章

python-unittest框架 批量执行用例 可以同时执行多个吗?

Python-Unittest 实例1

Django单元测试测试视图问题,怎么解决

.NET 单元测试的艺术&单元测试之道C#版

什么是单元测试?如何做好单元测试?

测试篇——初探单元测试