zoukankan      html  css  js  c++  java
  • 测试类及方法

    !/usr/bin/env python

    coding:utf-8

    class AnonymousSurvey():

    #收集匿名调查的答案
    '''
    要创建这个类的实例,只需提供一个问题即可。有
    了表示调查的实例后,就可使用show_question()
    来显示其中的问题,可使用store_response()
    来存储答案,并使用show_results()
    来显示调查结果。
    '''
    
    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 ('-'+response)
    

    """
    AnonymousSurvey类可用于进行简单的匿名调查。假设我们将它放在了模块survey中,并想进 行改进:
    让每位用户都可输入多个答案;
    编写一个方法,它只列出不同的答案,并指出每个答案 出现了多少次;
    再编写一个类,用于管理非匿名调查。 13进行上述修改存在风险,可能会影响AnonymousSurvey类的当前行为。
    例如,允许每位用户输 入多个答案时,可能不小心修改了处理单个答案的方式。
    要确认在开发这个模块时没有破坏既有 行为,可以编写针对这个类的测试。
    """

    print (AnonymousSurvey('What id ?'))

    !/usr/bin/env python

    coding:utf-8

    from survey import AnonymousSurvey

    定义一个问题,并创建一个表示调查的AnonymousSurvey对象

    question = 'What language did you first learn to speak?'

    my_survey = AnonymousSurvey(question) #创建实例my_survey

    显示问题并存储答案

    my_survey.show_question()
    print (" Enter 'q' any time to quit ")

    while True:
    response = raw_input('Language:')
    if response == 'q':
    break
    my_survey.store_response(response)

    print('
    Thank you to everyone who participated in the survey!')
    
    my_survey.show_results()
    

    !/usr/bin/env python

    coding:utf-8

    import unittest
    from survey import AnonymousSurvey

    class TestAnonymousSurvey(unittest.TestCase):

      #针对AnonymousSurveyde测试
    
      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):
          #测试单个答案会被妥善的存储
    
          # question = 'What language did you first learn to speak?'
          # my_survey = AnonymousSurvey(question)
    
          self.my_survey.store_response(self.responses[0])
    
          self.assertIn(self.responses[0],self.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','Mandarin']
    
          for response in self.responses:
              self.my_survey.store_response(response)
    
          for response in self.responses:
              self.assertIn(response,self.my_survey.responses)
    
      def runTest(self):
          pass
  • 相关阅读:
    Android Studio keymap到Eclipse后,查找下一个同样变量快捷键Ctrl+K失效
    阿里云cenos 6.5 模板上安装 docker
    java 实现打印当前月份的日历
    makefile redefinition or previous definition
    aix用户登录次数受限问题(3004-300 输入了无效的登录名或password)
    BASH 文本模版的简单实现 micro_template_compile
    Eclipse+Maven+Spring+CXF 构建webservice 服务
    GBX的Graph(最短路)
    CSS布局篇——固宽、变宽、固宽+变宽
    考研学生应该知道:研究方向和开发技术
  • 原文地址:https://www.cnblogs.com/ITniu/p/8619385.html
Copyright © 2011-2022 走看看