python进阶(8)
- 作者: 五速梦信息网
- 时间: 2026年04月04日 13:31
一、测试函数(unittest)
1、源文件方法(name_function.py):
def get_formatted_name(first,last):
"""生成全名"""
full_name=f"{first} {last}"
return full_name.title()
2、通过unittest测试(test_name_function.py)
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' ) if __name__ == '__main__':
unittest.main()
查看运行结果:
Ran 1 test in 0.003s OK
二、测试类(unittest)
1、源文件类(survey.py)
class AnonymousSurvey:
"""收集匿名蒂阿查问卷的答案"""
def __init__(self,question):
"""存储一个问题,并为存储答案做准备"""
self.question=question
self.responses=[] def show_question(self):
"""显示调查问卷"""
print(self.question) def store_response(self,new_response):
"""存储单份调查问卷"""
self.responses.append(new_response) def show_results(self):
"""显示收集到的手机答案"""
print("Survey results")
for response in self.responses:
print(f" - {response}")
2、通过unittest测试(test)
import unittest
from survey import AnonymousSurvey class TestAnonymousSurvey( unittest.TestCase ):
"""针对AnonymousSurvey类的测试"""
def test_store_single_response(self):
question="What language did you first learn to speak?"
my_survey=AnonymousSurvey(question)
my_survey.store_response('English')
self.assertIn( 'English', my_survey.responses ) def test_store_three_response(self):
"""测试三个答案并存储正确"""
question="What language did you first learn to speak?"
my_survey=AnonymousSurvey(question)
responses=['English','Spanish','Chinese']
for response in responses:
my_survey.store_response(response)
for response in responses:
self.assertIn( response, my_survey.responses ) if __name__ == '__main__':
unittest.main()
查看结果:
Ran 2 tests in 0.002s OK
三、setp()与tearDown()方法:初始化与清理程序
import unittest
from survey import AnonymousSurvey class TestAnonymousSurvey( unittest.TestCase ):
def setUp(self):
question = "What language did you first learn to speak?"
self.my_survey=AnonymousSurvey(question)
self.responses = ['English', 'Spanish', 'Chinese'] def tearDown(self):
self.responses.clear() def test_store_single_response(self):
"""针对AnonymousSurvey类的测试"""
self.my_survey.store_response( self.responses[0] )
self.assertIn( self.responses[0], self.my_survey.responses ) def test_store_three_response(self):
"""测试三个答案并存储正确"""
for response in self.responses:
self.my_survey.store_response( response )
for response in self.responses:
self.assertIn( response, self.my_survey.responses ) if __name__ == '__main__':
unittest.main()
查看运行结果:
Ran 2 tests in 0.001s OK
- 上一篇: python开发编译器
- 下一篇: python解码转义字符
相关文章
-
python开发编译器
python开发编译器
- 互联网
- 2026年04月04日
-
python开发环境搭建
python开发环境搭建
- 互联网
- 2026年04月04日
-
Python开发基础
Python开发基础
- 互联网
- 2026年04月04日
-
python解码转义字符
python解码转义字符
- 互联网
- 2026年04月04日
-
Python接口自动化测试框架: pytest+allure+jsonpath+requests+excel实现的接口自动化测试框架(学习成果)
Python接口自动化测试框架: pytest+allure+jsonpath+requests+excel实现的接口自动化测试框架(学习成果)
- 互联网
- 2026年04月04日
-
Python脚本传參和Python中调用mysqldump
Python脚本传參和Python中调用mysqldump
- 互联网
- 2026年04月04日






