在Python中,unittest
和pytest
都是常用的自动化测试框架。它们提供了编写测试用例、测试套件和执行测试的强大功能。
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
的一个约定。assertEqual
和assertTrue
是断言方法,用于验证预期结果与实际结果是否一致。
2. pytest框架
pytest
是一个更简洁、更易于使用的测试框架。它不需要继承任何基类或编写特定的测试方法。
示例代码:
首先,确保你已经安装了pytest
:
bash复制代码
文章来源:https://www.toymoban.com/news/detail-829142.html
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_add
和test_subtract
。每个测试函数都以test_
开头,这是pytest
的一个约定。assert
语句用于验证预期结果与实际结果是否一致。如果assert
语句失败,测试将被视为失败。
要运行这些测试,请在命令行中导航到包含测试文件的目录,并执行以下命令:
bash复制代码
pytest |
pytest将自动查找并执行所有以
test_开头的函数。如果所有测试都通过,则不会显示任何输出。如果有测试失败,
pytest`将显示失败的详细信息。文章来源地址https://www.toymoban.com/news/detail-829142.html
到了这里,关于Python自动化测试:unittest与pytest框架的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!