python测试代码

前言:

编写函数或者类时,需要编写测试代码,来保证其的功能运行是否按预期的那样工作。在程序添加新的代码时,用来测试是否会破坏本身的功能

我们使用python自带的unittest模块来测试代码

编写函数

def get_formatted_name(first,last,middle=''):
    """生成整洁的姓名"""
    if middle:
        full_name = first + ' '+ middle +'+ last
    else:
        full_name = first + ' +return full_name.title() 

编写测试:

import unittest
from name_function  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_first_last_middle_name(self):
        能够正确地处理像Wolfgang Amadeus Mozart这样的姓名吗?wolfgangmozartamadeusWolfgang Amadeus Mozart)

unittest.main()

 

编写类:

 AnonymousSurvey():
    收集匿名调查问卷的答案def __init__(self,question):
        存储一个问题,并为存储答案做准备
        self.question = question
        self.responses = []

     show_question(self):
        显示调查问卷"""
        print(self.question)

     store_response(self,new_response):
        存储单份调查答卷
        self.responses.append(new_response)

     show_results(self):
        显示收集到的所有答卷print("Survey results")
        for response in self.responses:
            - '+ response)

编写测试:

from survey  AnonymousSurvey

 TestAnonymousSurvey(unittest.TestCase):
    针对AnonymousSurvey类的测试 test_store_single_response(self):
         测试三个答案会被妥善地存储
        question = What language did you first learn to speak?
        my_survey = AnonymousSurvey(question)
        lists = [EnglishChinaJapanese]
        for s  lists:
            my_survey.store_response(s)
            self.assertIn(s,my_survey.responses)

unittest.main()

总结:

unittest模块不仅支持单元测试,在接口和功能测试也能直接套用其中的方法。编写unittest必须添加继承unittest.TestCase类,测试的函数必须以test*开头,以及使用unittest.mian方法来运行此测试模块。

 

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...