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

第十一 章 测试代码unittest

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

第十一 章 测试代码unittest

第十一 章 测试代码 11.1 针对一个函数测试

1.创建一个模块叫make_name,模块包含make_name函数

def make_name(first_name, last_name):
    """生成一个完成的名字"""
    full_name = f"{first_name} {last_name}"
    return full_name

2.创建一个names模块用于单元测试

from make_name import make_name
import unittest


class Names_test_case(unittest.TestCase):               # 创建一个测试用例子类,继承父类unittest的TestCase方法
    """测试make_name.py"""
    def test_first_case(self):
        """判断能否返回 周 杰"""
        """成功案例"""
        formatted_name = make_name("周", "杰")
        self.assertEqual(formatted_name, "周 杰")        # 断言

    def test_error_case(self):
        """失败案例"""
        formatted_name = make_name("周", "1")
        self.assertEqual(formatted_name, "周 杰")

if __name__ == '__main__':
    unittest.main()
11.2 针对一个类测试 11.2.1 各种断言方法
assertEqual(a, b)核实a == b
assertNotEqual(a, b)核实a != b
assertTrue(x)核实x为True
assertFalse(x)核实x为False
assertIn(item, list)核实item在list中
assertNotIn(item, list)核实item不在list中
11.2.2 示例
class AnonymousSurvey:
    """收集匿名调查问卷的答案。"""
    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(f"- {response}")
from survey import *
import unittest


class Survey_test_case(unittest.TestCase):
    """针对AnonymousSurvey类的测试。"""
    def test_store_single_response(self):
        """测试单个答案会被妥善地存储。"""
        question = "你们喜欢吃什么水果?"
        my_survey = AnonymousSurvey(question)
        my_survey.store_response("杨梅")
        self.assertIn("杨梅", my_survey.responses)


if __name__ == '__main__':
    unittest.main()
11.2.3 setup
  • 可以通过setup去配置一些公共的配置
from survey import *
import unittest


class Survey_test_case(unittest.TestCase):

    def setUp(self):
        question = "你们喜欢吃什么水果?"
        self.my_survey = AnonymousSurvey(question)
        self.responses = ["苹果", "西瓜", "杨梅"]

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


if __name__ == '__main__':
    unittest.main()
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/951602.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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