根据需求编写被测函数 编写计算机器(加法)相应的测试用例 在调用每个测试方法之前打印【开始计算】 在调用每个测试方法之后打印【结束计算】 调用完所有的测试用例最终输出【结束测试】 为用例添加hebeu标签 生成Allure测试报告
时间: 2023-12-03 11:43:36 浏览: 75
测试用例编写流程.
以下是在 Python 中使用 unittest 框架编写被测函数和测试用例的示例代码:
```python
import unittest
def add(x, y):
"""
计算两个数的和
"""
return x + y
class TestAdd(unittest.TestCase):
"""
测试加法函数
"""
@classmethod
def setUpClass(cls):
print("开始计算")
@classmethod
def tearDownClass(cls):
print("结束计算")
def test_add_positive(self):
"""
测试正数相加
"""
self.assertEqual(add(2, 3), 5)
def test_add_negative(self):
"""
测试负数相加
"""
self.assertEqual(add(-2, -3), -5)
def test_add_zero(self):
"""
测试0相加
"""
self.assertEqual(add(0, 0), 0)
@unittest.skip("暂不执行")
def test_add_decimal(self):
"""
测试小数相加
"""
self.assertEqual(add(0.1, 0.2), 0.3)
if __name__ == '__main__':
suite = unittest.TestSuite()
suite.addTests(unittest.makeSuite(TestAdd))
runner = unittest.TextTestRunner()
runner.run(suite)
```
以上代码包括一个被测函数 `add` 和一个测试类 `TestAdd`,其中测试类继承自 `unittest.TestCase`。在测试类中定义了四个测试用例,分别测试正数相加、负数相加、0相加和小数相加。
在测试类中,使用 `setUpClass` 和 `tearDownClass` 分别在执行测试类中所有测试用例之前和之后打印相应的信息。在每个测试用例函数中,使用 `self.assertEqual` 断言函数的返回值是否符合预期。
在 `if __name__ == '__main__':` 中,创建一个测试套件并添加测试类,然后使用 `unittest.TextTestRunner()` 运行测试套件。
如果要为测试用例添加标签,可以在测试类中使用 `@unittest.tag` 装饰器,如下所示:
```python
@unittest.tag("hebeu")
class TestAdd(unittest.TestCase):
"""
测试加法函数
"""
...
```
如果要生成 Allure 测试报告,可以使用 `pytest` 和 `pytest-allure` 插件。首先需要安装相应的依赖:
```
pip install pytest pytest-allure
```
然后在命令行中执行以下命令:
```
pytest --alluredir=allure-results
```
即可生成 Allure 测试报告。其中 `--alluredir` 参数指定测试结果输出目录。如果要在测试用例中添加 Allure 报告的附加信息,可以使用 `@allure.step` 装饰器,如下所示:
```python
@unittest.tag("hebeu")
class TestAdd(unittest.TestCase):
"""
测试加法函数
"""
@allure.step("测试正数相加")
def test_add_positive(self):
"""
测试正数相加
"""
self.assertEqual(add(2, 3), 5)
```
在测试报告中,该测试用例的附加信息会显示为一个步骤。
阅读全文