import unittest
from name_function import get_formatted_name
class NamesTestCase(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'
unittest.main()
这个是书上源代码,但是运行得时候出现No tests were found。经查询得知应添加一行判断语句if name == ‘main’:
原理是每个Python模块都包含__name__这个内置变量,name == 'main’相当于程序入口,只能被本模块得函数使用,如果被import,那么就无法使用。