Python学习笔记之unittest参数化和跳过

参数化: 

       unittest的参数化需要安装unittest扩展插件parameterized来实现,最新版本PYCharm支持在软件内直接打开终端进行安装,pip install parameterized。

安装完成后要使用,先导包,再修饰

导包:from parameterized import parameterized
使用@parameterized.expand装饰器可以为测试函数的参数进行参数化

import unittest
import yaml
from parameterized import parameterized


def add(num1, num2):
    return num1 + num2


class Test01(unittest.TestCase):

    @classmethod
    def setUpClass(cls):
        print("类级别开始执行")

    @classmethod
    def tearDownClass(cls):
        print("类级别结束被执行")
# ************************************************************
    def get_data():
        with open("data.yml", "r", encoding="utf-8") as f:
            data = yaml.safe_load(f)
        print(data)
        print(data["data"])
        return data["data"]
        # return [(1, 2, 3), (4, 6, 10), (1, 10, 11)]
"""
本注释上方和下方内容即为参数化实现的内容,将数据写入yml文件里,通过get_data方法传递到test_add1里,
"""
    @parameterized.expand(get_data())
    def test_add1(self, num1, num2, expendresult):
        result = add(num1, num2)
        print(f"用例计算结果为:{result},预期结果为:{expendresult}")
        assert result == expendresult
# ************************************************************

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


跳过:
跳过很简单,记住关键字就可以!!

***********************************
可以使用在类的上方,表示类中用例都不执行,如果放在用例上方,标识单条用例不执行

# 直接将测试函数标记成跳过
@unittest.skip('代码未完成')
# 根据条件判断测试函数是否跳过,可判断版本
@unittest.skipIf(condition, reason)




全部评论

相关推荐

09-25 19:39
门头沟学院 C++
点赞 评论 收藏
分享
独特的大学生想当offer收割机:浪潮赚钱省立花,一分别想带回家
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
09-10 15:43
不想上班蚊不叮在走神:华子是这样的。我投递了,还有其他华子内部人加我,不知道从哪搞的微信号,还要给我打电话劝我改投递方向。直接不鸟就行了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务