在学习了埃里克玛瑟斯的Python编程入门书籍时,测试代码内的几个小代码
简单地做个记录:
三个文件代码
1.name_function.py
def get_formatted_name(first,last,middle=''):
"生成整洁的名字."
if middle:
full_name=first+' '+middle+' '+last
else:
full_name=first+' '+last
return full_name.title()
2.names.py
import os
os.chdir('C:\\Users\Administrator\\Documents')
from name_function import get_formatted_name
print("Enter 'q' at any time to quit.")
while True:
first=input("\nPlease give me a first name")
if first=='q':
break
last=input("Please give me a last name")
if last=='q':
break
formatted_name=get_formatted_name(first,last)
print('\tNeatly formatted name :'+formatted_name+'.')
3.test_name_function.py
import unittest
from name_function import get_formatted_name
class NameTestCase(unittest.TestCase):
"""测试name_function.py"""
def test_first_last_name(self):
"""能够正确处理像Janis Joplin这样的名字吗?"""
formatted_name=get_formatted_name('janis','joplin')
self.assertEqual(formatted_name,'Janis Joplin')
#方法名必须以test开头,这样再运行test_name_function.py时,才会主动运行
def test_first_last_middle_name(self):
"""能够正确处理像Wolfgang Amadeus Mozart这样的名字嘛?"""
formatted_name=get_formatted_name('wolfgang','mozart','amadeus')
self.assertEqual(formatted_name,'Wolfgang Amadeus Mozart')
unittest.main()