1---name_function.py函数
name_function.py用来获取人名,入参时选择姓、名、中间字三项(middle为可选入参项)
1 #!usr/bin/env/python 2 3 def get_formatted_name(first,last,middle=""): 4 if middle: 5 full_name = f"{first} {middle} {last}" 6 return full_name.title() 7 else: 8 full_name = f"{first} {last}" 9 return full_name.title()
2---names.py函数
#!usr/bin/env/python from name_function import get_formatted_name print("Enter 'q' at any time to quit !") while True: first = input(f"\nPlease give me a first name:") if first == "q": break last = input(f"Please give me a last name:") if last == "q": break formatted_name = get_formatted_name(first,last) print(f"Neatly formatted name:{formatted_name} !")
3---test_name_function.py函数
#!/usr/bin/env/python:这是脚本的shebang,用于指定运行脚本的解释器。 import unittest:导入unittest模块,用于编写和执行测试用例。 from name_function import get_formatted_name:从name_function模块中导入get_formatted_name函数,以便在测试中使用。 class NamesTestCase(unittest.TestCase)::定义一个名为NamesTestCase的测试类,它继承自unittest.TestCase。 def test_first_last_name(self)::定义一个名为test_first_last_name的测试方法,用于测试get_formatted_name函数是否能够正确处理只有姓和名的情况。 self.assertEqual(formatted_name, "Janis Joplin"):使用self.assertEqual()断言方法,检查formatted_name的值是否等于"Janis Joplin"。 def test_first_middle_last(self)::定义一个名为test_first_middle_last的测试方法,用于测试get_formatted_name函数是否能够正确处理有姓、中间名和名的情况。 unittest.main():执行测试脚本,并运行所有的测试方法。
#!usr/bin/env/python import unittest from name_function import get_formatted_name class NamesTestCase(unittest.TestCase): """测试name_function.py""" def test_first_last_name(self): """能够正确处理类似于以下的例子吗?""" formatted_name = get_formatted_name("janis","joplin") self.assertEqual(formatted_name,"Janis Joplin") def test_first_middle_last(self): formatted_name = get_formatted_name("janis","joplin","key") self.assertEqual(formatted_name,"Janis Key Joplin") if __name__ == "__main__": unittest.main()
4、常见的断言方法方法 用途
方法 用途
assertEqual(a,b) 核实a == b
assertNotEqual(a,b) 核实a != b
assertTure(x) 核实x为True
assertFalse(x) 核实x为False
assertIn(Item,list) 核实item在list中
assertNotIn(Item,list) 核实item不在list中
get_formatted_name标签:code,last,name,get,unittest,testing,formatted,first From: https://www.cnblogs.com/life-pinggen/p/17700218.html