1.测试函数
下面是一个简单函数,它接收名和姓,然后返回一个整洁的姓名name_fuction.py:
#name_fuction.py 获取姓和名返回整洁的姓名:
def get_name(first,last):
full_name=first+' '+last
return full_name.title()
对上述代码进行测试,names.py:(这其实和编写的代码没差别,说是测试不过就像之前那样是用了一下它而已)
form name_fuction import get_name #导入需要测试的函数
while True:
first = input("请输入姓:")
last = imput("请输入名:")
formatted_name = get_name(first,last)
print("您的姓名为:"+formatted_name)
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
请输入姓:blessing
请输入名:lee
您的姓名为:Blessing Lee
下面才像点测试的样子:test_name_fuction.py
#运行test_name_function.py时里面的test_开头的方法都会自动运行
import unittest #导入unittest
from name_function import get_name #导入要测试的函数get_name
calss NamesTestCase(unittest.TestCase): #创建一个测试类,继承unittest.TestCase
"""测试name_fuction.py"""
def test_first_last_name(self): #编写测试函数(举一反三,可以编写多个不同的测试函数)
formatted_name = get_name('blessing','lee') #调用get_name()并将返回值结果存储到formatted_name中
self.asserEqual(formatted_name,'Blessing Lee') #unittest中一个断言asserEqual,核实得到的结果是否等于后面的'Blessing Lee'
unittest.main() #让Python运行这个文件中的测试
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
. #一个点表示有一个测试用例通过了
------------------------------------------------------
Ran 1 test in 0.000s #Python运行一个测试用例花的时间不到0.001秒
ok #表示测试通过ok
2.断言方法
Python在unittest.TestCase类中提供了很多断言方法。断言方法检查你认为应该满足的条件是否满足。
只能在继承unittest.TestCase的类中使用这些方法。
方法 | 用途 |
---|---|
assertEqual(a,b) | 核实 a == b |
assertNotEqual(a,b) | 核实 a != b |
assertTrue(x) | 核实 x 为True |
assertFalse(x) | 核实 x 为 False |
assertIn(item,list) | 核实 item 在list中 |
assertNotIn(item,list) | 核实 item 不在list中 |
3.方法setUp()
如果你在unittest.TestCase类中包含方法setUp(),Python将先运行它,再运行各个以test_开头的方法。所以可以使用setUp()来创建调查对象和答案让测试中的方法使用,这样在测试方法中就不必再重复的创建调查对象和答案。
4.因为没有什么实际可以测试的案例,暂时写这些,以后有经验了再来完善