zoukankan      html  css  js  c++  java
  • Python学习——代码测试

    单元测试 用于核实函数的某个方面没有问题,测试用例是一组单元测试,这些单元测试一起核实函数在各种情形下的行为都符合要求

      模块unittest提供了代码测试工具

    测试函数

      用于测试的类必须继承unittest.TestCase类

      unittest类最有用的功能之一是:一个断言方法。断言方法用于核实得到的结果是否与期望的结果一致

    name_function.py

    def get_formatted_name(first, last):

       full_name = first + ' ' + last
    return full_name.title()

    test.py

    import unittest
    from name_function import get_formatted_name


    class NamesTestCase(unittest.TestCase):
    def test_first_last_name(self):
    formatted_name = get_formatted_name('janis', 'joplin')
    self.assertEqual(formatted_name, 'Janis Joplin')

    #unittest.main() 使用pycharm不需要加这句

    测试类

      unittest.TestCase类包含方法setUp( ), 可以让我们只需要创建测试中使用的对象一次,并在每个测试方法中使用它们。如果在TestCase中包含了方法setUp( ), Python将

    先运行它,再运行各个以test_打头的方法。这样在每个测试方法中就都能使用在方法setUp( )中创建的对象了。

    下面是书中测试类的一个例程:

    survey.py

    class AnonymousSurvey():
    def __init__(self, question):
    self.question = question
    self.responses = []

    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)

    test_survey.py

    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', 'Mandarin']

    def test_store_single_response(self):
    self.my_survey.store_response(self.responses[0])
    self.assertIn('English',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)

  • 相关阅读:
    mvc3在各个IIS版本中的部署
    linq学习
    常用的正则表达式
    Jenkins+Git+Maven+Tomcat的初步学习
    12个用得着的JQuery代码片段
    JQuery原理介绍及学习方法
    【前端学习】javascript面向对象编程(继承和复用)
    c# throw和throw ex
    .net 信息采集ajax数据
    C# FileSystemWatcher 并发
  • 原文地址:https://www.cnblogs.com/QiLF/p/9245733.html
Copyright © 2011-2022 走看看