Python 笔记 :12 代码测试

匿名 (未验证) 提交于 2019-12-02 22:51:30

代码测试:是通过代码测试函数,来把执行的结果,和用户预设的代码内容,进行比较!

格式:

  import unittest

#定义的类,要继承unittest.TestCase类

  class Test_a(unittest.TestCase):

    ......

#方法名,必须以test开头,下面的unittest.main( ),才可自动执行代码测试,否则不会执行

    def test_first_last_name(self):

#这里会把函数的返回值,和用户预设的结果,进行比较,如果相同,则通过测试,否则报错,并提示测试失败 

     self.assertEqual(代码执行的结果或调用的函数(有返回值),用户预设的结果(如:'Jimm Green')

  unittest.main( )

 

例子:

 #判断用户输入的格式,是否符合格式要求

import unittest#定义一个函数,用来返回全部姓名:def get_formatted_name(first, last,middle=''):    """Generate a neatly formatted full name."""    #如果有middle有值,则输出middle,否则不输出middle    if middle:        full_name = first + ' ' + middle + ' ' + last    else:        full_name=first+' '+last    return full_name.title()#用来让用户输入first_name和last_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 + '.')class NamesTestCase(unittest.TestCase):    """溅试name_function.py"""    # 定义的方法,必须以test开头,否则Unittest.main()函数不会自动执行类中的测试方法!    def test_first_last_name(self):        """能够正确地处理Janis Joplin这样的姓名吗?"""        formatted_name = get_formatted_name("janis", 'joplin')        # 这个函数,会把第一个参数值和第二个参数值,进行比较,如果相等则通过测试,否则不通过!        self.assertEqual(formatted_name, 'Janis Joplin')    def test_first_middle_last_name(self):        fromatted_name = get_formatted_name("wss", 'win', 'king')        self.assertEqual(fromatted_name, 'Wss King Win')unittest.main()

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!