如何编写可靠的 Python 单元测试

2023-04-13 00:00:00 编写 单元测试 可靠

编写可靠的 Python 单元测试有以下几个步骤:

  1. 安装 pytest 测试框架
pip install pytest
  1. 编写测试用例代码
    以函数为例,测试用例要覆盖函数的各种情况,包括正常情况、异常处理等。

例如,考虑一个函数is_palindrome 判断一个字符串是否是回文。其中回文的定义是左右对称,即字符串从左到右读和从右到左读是一样的。当输入的字符串不是回文时,函数返回 False。

我们可以编写以下测试用例:

def test_is_palindrome():
    assert is_palindrome('pidancode.com')== False
    assert is_palindrome('racecar') == True
    assert is_palindrome('bigben') == False
    assert is_palindrome('') == True #空串是回文
  1. 运行测试用例
    在终端中进入测试文件所在的目录下,运行以下命令:
pytest

执行命令后,pytest 会自动运行本地所有以 test_ 开头的测试用例。如果所有测试用例都通过,则会输出一个绿色的"." 。否则,会输出红色的 "F",并且给出失败的测试用例的具体信息。

完整的测试代码如下所示:

def is_palindrome(s):
    """
    判断给定的字符串是否为回文
    """

    # 两种边界情况特殊处理
    if not s:
        return True
    elif len(s) == 1:
        return True

    # 递归判断
    return s[0] == s[-1] and is_palindrome(s[1:-1])


def test_is_palindrome():
    assert is_palindrome('pidancode.com')== False
    assert is_palindrome('racecar') == True
    assert is_palindrome('bigben') == False
    assert is_palindrome('') == True #空串是回文

运行以上代码执行 pytest 命令,即可运行测试用例并输出测试结果。

相关文章