#单元测试与测试用例#python标准库中的模块 unittest提供了代码测试工具#单元测试 用于核实函数的某个方面没有问题;#测试用例考虑到了函数可能收到的各种输入,包含针对所有这些情形的测试。#全覆盖式测试用例 包含了一整套单元测试,涵盖了各种可能的函数使用方式。#对于大型项目,实现全覆盖很难,通常,最初 只要针对 代码的重要行为 编写测试即可#可通过的测试import unittest #导入模块from name_function import get_name #导入函数classNamesTestCase(unittest.TestCase):#包含一系列的单元测试,这个类必须继承unittest.TestCase"""测试name_function.py"""deftest_first_last_name(self):#所有以test_打头的方法都是自动运行的"""能正确处理 tian yan这样的姓名吗"""
name=get_name('tian','yan',)
self.assertEqual(name,'Tian Yan')#断言:将name同Tian Yan比较
unittest.main()#各种断言方法:#assertEqual9(a,b) 核实a=b#assertNotEqual(a,b) 核实a!=b#assertTrue(x) 核实x为True#assertFalse(x) 核实x为False#assertIn(item,list) 核实item在list里面#assertNotIn(item,list) 核实item不在list里面from survey import AnonymousSurvey
"""定义一个问题,创建一个表示调查的对象"""
question="what language did you first learn to speak"
my_survey=AnonymousSurvey(question)#显示问题,存储答案
my_survey.show_question()print("enter 'q' at any time to quit")whileTrue:
response=input("language:")if response=='q':break
my_survey.store_response(response)#显示调查结果print("\nThank you to participate the survey")
my_survey.show_results()#测试AnonymousSurveyimport unittest
from survey import AnonymousSurvey
classTestAnonymousSurvey(unittest.TestCase):"""针对AnonymousSurvey类的测试"""deftest_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)deftest_store_three_responses(self):"""测试三个答案会被妥善存储"""
question="what language did you first to speak"
my_survey=AnonymousSurvey(question)
responses=['English','Spanish','math']for response in responses:
my_survey.store_response(response)for response in responses:
self.assertIn(response,my_survey.responses)
unittest.main()#方法setUp()import unittest
from survey import AnonymousSurvey
classTestAnonymousSurvey(unittest.TestCase):"""针对AnonymousSurvey"""defsetUp(self):"""创建一个调查对象和一组答案,供使用的测试方法使用"""
question="what language did you first learn to speak"
self.my_survey=AnonySurvey(question)
self.responses=['English','Spanish','Math']deftest_store_single_response(self):"""测试单个"""
self.my_survey.store_response(self.response[0])
self.assertIn(self.response[0],self.my_survey.responses)deftest_store_three_response(self):"""测试三个答案会被妥善存储"""for response in self.responses:
self.my_survry.store_response(response)for response in self.responses:
self.assertIn(response,self.my_suevey.responses)#一个要测试的类from survey import AnonymousSurvey
"""定义一个问题,创建一个表示调查的对象"""
question="what language did you first learn to speak"
my_survey=AnonymousSurvey(question)#显示问题,存储答案
my_survey.show_question()print("enter 'q' at any time to quit")whileTrue:
response=input("language:")if response=='q':break
my_survey.store_response(response)#显示调查结果print("\nThank you to participate the survey")
my_survey.show_results()