Python自动化测试:unittest与pytest框架

394 篇文章 1 订阅

在Python中,unittestpytest都是常用的自动化测试框架。它们提供了编写测试用例、测试套件和执行测试的强大功能。

1. unittest框架

unittest是Python标准库的一部分,因此无需额外安装。它提供了丰富的断言方法,用于验证测试结果。

示例代码:
 

python复制代码

import unittest
class TestStringMethods(unittest.TestCase):
def test_upper(self):
self.assertEqual('foo'.upper(), 'FOO')
def test_isalpha(self):
self.assertTrue('foo'.isalpha())
self.assertFalse('foo123'.isalpha())
def test_split(self):
s = 'hello world'
self.assertEqual(s.split(), ['hello', 'world'])
# 使用断言检查列表长度
with self.assertRaises(ValueError):
s.split(maxsplit=1)
if __name__ == '__main__':
unittest.main()

在这个示例中,我们定义了一个名为TestStringMethods的测试类,其中包含三个测试方法。每个测试方法都以test_开头,这是unittest的一个约定。assertEqualassertTrue是断言方法,用于验证预期结果与实际结果是否一致。

2. pytest框架

pytest是一个更简洁、更易于使用的测试框架。它不需要继承任何基类或编写特定的测试方法。

示例代码:

首先,确保你已经安装了pytest

 

bash复制代码

pip install pytest

然后,创建一个名为test_example.py的测试文件,并编写以下代码:

 

python复制代码

def add(x, y):
return x + y
def test_add():
assert add(1, 2) == 3
assert add(0, 0) == 0
with pytest.raises(TypeError):
add(1, '2')
def test_subtract():
assert add(5, -3) == 2

在这个示例中,我们定义了一个简单的add函数,然后创建了两个测试函数test_addtest_subtract。每个测试函数都以test_开头,这是pytest的一个约定。assert语句用于验证预期结果与实际结果是否一致。如果assert语句失败,测试将被视为失败。

要运行这些测试,请在命令行中导航到包含测试文件的目录,并执行以下命令:

 

bash复制代码

pytest

pytest将自动查找并执行所有以test_开头的函数。如果所有测试都通过,则不会显示任何输出。如果有测试失败,pytest`将显示失败的详细信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值