Python 第十一章 测试类

Python 第十一章 测试类

1 提供一个类

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

def show_questions(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("- "+response)

2 使用类

from survey import AnonymousSurvey

定义一个问题

question= “What language did you first learn to speak?”
my_survey=AnonymousSurvey(question)

my_survey.show_questions()
print(“Enter ‘q’ at any time to quit.\n”)
while True:
response=input(“Language: “)
if response==‘q’:
break
my_survey.store_response(response)
print(”\nThank you to everyone who participated in the survey!”)
my_survey.show_results()

What language did you first learn to speak?

Enter ‘q’ at any time to quit.

Language: English

Language: Spanish

Language: English

Language: Chinese

Language: q

Thank you to everyone who participated in the survey!

Survey results:

- English

- Spanish

- English

- Chinese

3 测试

import unittest
from testClass.survey import AnonymousSurvey

class TestAnonymousSurvey(unittest.TestCase):
    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_responses(self):
         """测试三个答案"""
         question="What language did you first learn to speak?"
         my_survey = AnonymousSurvey(question)
         responses=['English','Spanish','Mandarin']
         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.005s

OK

4 测试改进

import unittest
from testClass.survey import AnonymousSurvey
# 使用setUp()改进
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','Mandarin']

    def test_store_single_response(self):
        """测试单个答案会被妥善存储"""
        self.my_survey.store_response(self.responses[0])
        self.assertIn(self.responses[0],self.my_survey.responses)

    def test_store_three_responses(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.005s

OK

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杰少2020

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值