很多刚刚接触编程的小伙伴不太理解单元测试,那么为什么要进行单元测试呢?其实主要是为了提高代码的正确,同时确保重构不出错。接下来我们一起学习怎么用python做单元测试吧。
一、单元测试
在Python中,如果想进行单元测试的话,直接用是不行的,我们要借助一个单元测试的框架为unittest,它在Python中是一个内置的框架,在使用的时候稍微有点麻烦,在操作的过程中,都要写TestCase类,并且要使用到几个 assertEqual, assertNotEqual等断言方法。如果我们在使用pytest运行测试统一用assert语句就行,需要兼容unittest,对于很多知名的开源项目都应用到它,比如PyPy、Sentr等。在这里我们只需要掌握一些基础知识就可以,具体的操作如下:
二、单元测试的应用
下面通过具体的代码,讲解一下Python单元测试的基本用法,在代码中是两种不同的测试类型,一种是验证返回值,还有一种是抛出异常,具体的代码如下:
基本用法一:
def add(a, b): """return a + b Args: a (int): int b (int): int Returns: a + b Raises: AssertionError: if a or b is not integer """ assert all([isinstance(a, int), isinstance(b, int)]) return a + b
这是一个用来判断返回值的测试
基本用法二:
def test_add(): assert add(4, 5) == 9 assert isinstance(add(4, 5) , int) with pytest.raises(Exception): # test exception add('4', 5)
当程序遇到错误的时候,就会抛出异常。上面就是最基本使用,在使用的时候需要确保每一部分都正确,这样才能让一个函数的整体上包含出错。单元测试的目的就是为了提高代码的正确的同时,也提醒我们,函数完成的功能尽可能单一,这样才利于测试。
有关如何使用python做单元测试?利用Python做单元测试的技巧的内容就分享到这里了,希望大家通过对这篇文章的学习,能收获到一定的Python知识。