IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> Python-测试代码 -> 正文阅读

[开发测试]Python-测试代码

作者:recommend-item-box type_blog clearfix
# @Time : 2021/8/1 11:36 上午 
# @Author : ***
# @File : test.py 
# @Software: PyCharm

#断言方法包括下面这些
#assertEqual
#assertNotEqual
#assertTrue
#assertFalse
#assertIn(item,list)
#assertNotIn(item,list)
#python还提供了提高调试效率的方法 setUp方法可以在测试类中创造一些通用的对象

#不要试图在项目早起试图编写全覆盖的测试用例
#除非有充分的理由

# @Time : 2021/8/1 11:38 上午 
# @Author : ***
# @File : survey.py 
# @Software: PyCharm
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("Survery results:")
        for response in self.responses:
            print(f"-{response}")

def fun_0():#开关函数
    question = "what language did you first learn to speak?"
    my_survey = AnonymousSurvey(question)

    my_survey.show_question()
    print("enter your answers: ")
    while True:
        response = input(">")
        if response == 'q':
            break
        else:
            my_survey.store_response(response)

    print("\nThank you for joining our survey.")
    my_survey.show_results()

# @Time : 2021/8/1 2:44 下午 
# @Author : ***
# @File : employee.py 
# @Software: PyCharm

class Employee:
    def __init__(self,first,last,salary):
        self.name1=first
        self.name2=last
        self.salary=salary

    def give_raise(self,moneyP=5000):
        self.salary+=moneyP
        print("ok,you get raised,now you can get %s $ a month."%(moneyP))

# @Time : 2021/8/1 2:49 下午 
# @Author : ***
# @File : test_employee.py 
# @Software: PyCharm

import unittest
from employee import Employee

class TestEmployee(unittest.TestCase):
    def setUp(self):
        self.emp=Employee('jack','dema',1000)
    def test_give_default_raise(self):
        self.emp.give_raise(-1000)
        self.assertEqual(self.emp.salary,0)
        #经过测试我们可以发现测试函数并不会真正改变我们定义好的属性的值
        #而仅仅是一个测试作用
        #实际上这才更符合"测试"的本意
        #如果每次都改变属性,那么当测试变多时,事情将变得很麻烦
    def test_give_custom_raise(self):
        self.emp.give_raise(1000000)
        self.assertEqual(self.emp.salary,1001000)

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

# @Time : 2021/8/1 2:21 下午 
# @Author : ***
# @File : test_survey.py 
# @Software: PyCharm

import unittest
from survey import AnonymousSurvey

class TestAnonymousSurvey(unittest.TestCase):
    def setUp(self):#setUp的存在就是让诸多使用同一实例的测试函数都可以使用该函数内定义的"类的属性"
        """
        创建一个调查对象和一组答案,供使用的测试方法使用,简化程序的编写,尤其是在测试的函数过多时
        这是有意思的技巧
        :return:
        """
        question="******?"
        self.my_survey=AnonymousSurvey(question)
        self.responses=['english'.title(),'spanish'.title(),'mandarin'.title()]
    def test_store_single_response(self):
        # question="*****?"
        # my_survey=AnonymousSurvey(question)
        # my_survey.store_response('English')
        #因为setUp的使用,这部分被注释掉了
        self.my_survey.store_response(self.responses[0])#这个responses在setUp中进行了定义
        # 故而可以直接用在类的任意地方
        self.assertIn('English',self.my_survey.responses)#断言某个元素是否在列表中
    def test_store_three_responses(self):
        # question="******?"
        # my_survey=AnonymousSurvey(question)
        # responses=['english'.title(),'spanish'.title(),'mandarin'.title()]
        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()
  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-08-03 11:30:55  更:2021-08-03 11:31:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/28 21:14:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码