unittest加载用例

diascover加载测试用例

1.discover方法里面有三个参数:

-case_dir:这个是待执行用例的目录。

-pattern:这个是匹配脚本名称的规则,test*.py意思是匹配test开头的所有脚本。

-top_level_dir:这个是顶层目录的名称,一般默认等于None就行了。

2.discover加载到的用例是一个list集合,需要重新写入到一个list对象testcase里,这样就可以用unittest里面的TextTestRunner这里类的run方法去执行。

# 用例路径
case_path = os.path.join(os.getcwd(), "case")
# 报告存放路径
report_path = os.path.join(os.getcwd(), "report")
def all_case():
    discover = unittest.defaultTestLoader.discover(case_path,
                                                    pattern="test*.py",
                                                    top_level_dir=None)
    print(discover)
    return discover

if __name__ == "__main__":
    runner = unittest.TextTestRunner()
    runner.run(all_case())

转载于:https://www.cnblogs.com/yaohu/p/11593376.html

### 如何使用 `unittest` 编写 Excel 测试 为了使测试框架能够读取并执行存储于 Excel 文件中的测试,通常会采用 Python 的第三方库如 `pandas` 或者 `openpyxl` 来处理 Excel 数据。下面展示了一个简单的子来说明如何利用这些工具配合 `unittest` 实现自动化测试。 #### 安装必要的包 首先安装所需的Python包: ```bash pip install pandas openpyxl ``` #### 创建测试类与方法 定义一个继承自 `unittest.TestCase` 类的新类,在该类内部编写具体的测试逻辑: ```python import unittest import pandas as pd class TestExcelCases(unittest.TestCase): @classmethod def setUpClass(cls): # 加载整个工作簿到内存中以便后续访问各个表单 cls.excel_data = pd.read_excel('test_cases.xlsx', sheet_name=None) def test_case_01(self): df = self.excel_data['Sheet1'] # 假设第一个sheet名为'Sheet1' for index, row in df.iterrows(): input_value = str(row['Input']) # 获取输入列的内容 expected_result = int(row['Expected Result']) # 预期结果 actual_result = perform_operation(input_value) # 调用待测函数 with self.subTest(i=index): assertEqual(actual_result, expected_result) def perform_operation(value): """模拟实际业务逻辑""" try: num = float(value.strip()) return round(num * 2) except ValueError: raise Exception(f"Invalid value {value}") if __name__ == '__main__': unittest.main() ``` 此脚本展示了基本结构——它从指定路径加载 Excel 文档,并遍历其中的第一张表格 (假设名称为 'Sheet1') 中每一行作为独立的测试。对于每一个案,提取相应的输入参数和预期的结果值;接着调用目标应用程序接口获取真实的返回值并与期望做对比验证其正确性[^1]。 需要注意的是,上述代码片段仅提供了一种可能的设计思路,具体实现细节取决于项目的需求以及所使用的单元测试框架版本等因素。此外,考虑到性能优化方面的要求,建议只在初始化阶段一次性打开 Excel 文件而不是每次测试前重复这一过程[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
OSZAR »