如何编写可靠的 Python 单元测试
编写可靠的 Python 单元测试有以下几个步骤:
- 安装 pytest 测试框架
pip install pytest
- 编写测试用例代码
以函数为例,测试用例要覆盖函数的各种情况,包括正常情况、异常处理等。
例如,考虑一个函数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 #空串是回文
- 运行测试用例
在终端中进入测试文件所在的目录下,运行以下命令:
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 命令,即可运行测试用例并输出测试结果。
相关文章