第11章 测试代码
11.1.2 可通过的测试
name_function.py
###创建一个简单的函数,他接受名和性并返回整洁的姓名
def get_formatted_name(first,last):
full_name = first + ' ' + last
return full_name.title()
导入姓名的全代码
from name_function import get_formatted_name
print("Enter 'q' ai any time to quit ")
while True:
first=input("What is your first name ?")
if first=='q':
break
last=input("What is your last name ? ")
if last=='q':
break
formatted_name = get_formatted_name(first,last)
print( "\n Neatly formatted name :" + formatted_name + '.')
下面是一个只包含一个方法的测试用例
tset_name_function.py
import unittest ##首先导入了模块unittset和要测试的函数get_formatted_name()。
from name_function import get_formatted_name
class NameTestCase(unittset.Testcase): ##创建了一个名为namestestcase的类,用于包含一系列针对get_formaated_name()单元测试
##测试name_function.py
def test_name_function(self): ##因为我们要核实的是只有名和姓的姓名能否被正确格式化。并且要以test_开头的方法都自动运行
##能够正确地处理像Janis Joplin这样的名字吗
formatted_name = get_formatted_name('janis' , ' joplin') ##我们要调用get_formatted_name(),并将结果存储到变量formatted_name中
self.assertEqual(formatted_name,'Janis Joplin') ##使用了unittest类最有用的功能之一:一个断言方法。断言方法用来核实得到的结果是否于期望的结果一致。
unittest.main()
总体意思就是 : 将formatted_name的值同字符串‘Janis Joplin’进行比较,如果他们相等,就万事大吉。如果他们不相等就说一声。
还有调查测试还没有写,待续