测试类
一个要测试的类
本章内容基本摘自Python编程从入门到实践——测试类,193页,自己总结内容较少(基本就是没有),如有侵权联系删除。
Survey.py
"""收集匿名调查问卷的答案"""
class AnonymousSurvey():
"""存储一个问题,并为存储答案做准备"""
def __init__(self, question):
self.question = question
self.responses = []
def show_question(self):
print(self.question)
def store_responses(self, new_responses):
self.responses.append(new_responses)
"""显示收集到的所有答案"""
def show_result(self):
print("Survey results:")
for response in self.responses:
print('- '+response)
question = '你喜欢吃什么水果?'
my_like = AnonymousSurvey(question)
my_like.show_question()
print("请输入你喜欢吃的水果,按 q 键退出\n")
while True:
responses = input("fruit: ")
if responses == 'q':
break
else:
my_like.store_responses(responses)
my_like.show_result()
方法setUp()
Unittest.TestCase类包含方法setUp(),让我们只需要创建这些对象一次,并在每个测试方法中使用他们,如果在estCase类中包含
setUp()方法,python将先运行它,在运行各个以test_打头大的方法。
测试类
import unittest
from survey import AnonymousSurvey
class TextAnonymousSurvey(unittest.TestCase):
def setUp(self):
question = '你喜欢吃什么水果:'
self.my_survey = AnonymousSurvey(question)
self.responses = ['苹果', '香蕉', '橙子']
def text_store_single_responses(self):
self.my_survey.store_responses(self.responses[0])
self.assertIn(self.responses[0], self.my_survey.responses)
def text_store_Three_responses(self):
for per in self.responses:
self.my_survey.store_responses(per)
for ses in self.responses:
self.assertIn(ses, self.my_survey.responses)