栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

第11章 测试代码

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

第11章 测试代码

一、测试函数

1.相关基础概念

(1)单元测试:用于核实函数的每个方面没有问题

(2)测试用例:是一组单元测试,它们一道核实函数在各种情形下的行为都符合要求

2.测试函数的基本步骤:

(1)导入unittest模块以及要测试的函数

(2)创建一个继承unittest.TestCase的子类,对该子类命名时最好让他看起来与要测试的函数相关并包含Test字样

(3)编写一系列方法对函数行为的不同方面进行测试,注意要想Python自动运行这些测试代码,在对其命名时,需要以test的字样打头,并且Python在运行过程中将自动调用被测试函数

(4)调用unittest.main()

import unittest
from name_function import get_formatted_name

class NameTestCase(unittest.TestCase)
    """测试name_function.py"""
    def test_first_last_name(self):
        """测试函数能够正确处理只包含姓和名的名称吗?"""
        formatted_name = get_formatted_name('janis', 'joplin')
        self.assertEqual(formatted_name, 'Janis Joplin')

if __name__ == '__main__':
    unittest.main()

3.测试未通过时,如果检查的条件没错,则应多检查函数代码并对其进行修改

二、测试类

1.各种断言方法:

(1)assertEqual(a,b):核实a == b (2) assertNotEqual(a,b): 核实a != b

  (3) assertTrue(x):核实x为True (4)assertFalse(x):核实x为False

  (5)assertIn(item, list):核实item在list中 (6)assertNotIn(item, list):核实item不在list中

2.方法setUp():使用方法setUp()所创建的一系列实例并设置的属性,可以在其他测试方法中直接使用这些实例

注意:一定要注意setUp()的写法否则将会导致函数调用的失败

import unittest
from survey import AnonymousSurvy

class TestAnonymousSurvyTest(unittest.TestCase):
    """针对AnonymousSurvy类的测试"""

    def setUp(self):
        """创建一组实例和一组答案,供所有测试对象使用"""
        question = "What language did you first learn to speak?"
        self.my_survy = AnonymousSurvy(question)
        self.answers = ['English', 'Spanish', 'Mandarin']

   def test_store_single_responce(self):
       """测试单个答案能否被妥善地保存"""
       self.my_survy.store_response(self.answers[0])
       self.assertIn('English', self.my_survy.responces)

   def test_store_three_responce(self):
       """测试三个答案能否被妥善地保存"""
       for answer in self.answers:
           self.my_survy.store_response(answer)
       for answer in self.answers:
           self.assertIn(answer, self.my_survy.reponses)

if __name__ = '__mian__':
    unittest.main()

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/317348.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号