pytest框架
参数化
@pytest.mark.parametrize('name', ['python', 'java', 'java编程语言', '操作系统', '计算机原理-编译原理'])
def test_add_course_name(name):
teacher = Teacher('teacher1', 'teacher1@beifangminzudaxue.com')
course = Course(name=('%s' % name))
r = teacher.add_course(course)
assert r == True
assert name in [course.name for course in teacher.get_courses()]
测试前置
- class setup_class setup teardown teardown_class 支持继承
- fixture scope yield 更灵活 缺点是没法继承
练习1
对任何一个用例实现参数化
- 单参数
- 多参数 expect
- 参数组合
测试报告生成 Allure2
https://docs.qameta.io/allure/#_pytest
安装
第一步 安装allure命令
https://docs.qameta.io/allure/#_installing_a_commandline
第二步 解压后把其中的bin路径放到系统的PATH变量里,并重启PyCharm
第三步 安装pytest的扩展
pip install allure-pytest
运行
pytest.ini
[pytest]
pythonpath = src
pytest --alluredir=allure-results
allure serve allure-results/
allure generate allure-results/ -o allure-report -c
练习2
生成自己测试用例的allure报告
- 参数化用例
- 测试装置
- 生成html的报告
生成web网站
请设计一个课程管理系统,
学校可以管理课程。
课程包含课程名字与ppt。
老师可以添加课程到学校。
管理员可以添加课程与删除课程。
后端代码使用python开发,课程数据存储可以使用变量的方式。
前端代码使用bootstrap,前端界面界面支持对课程的新增、展示、删除。使用后端的模板技术实现。
不要提供注释。
练习3
- 使用类的方式实现测试装置 setup setup_class teardown teardown_class
生成测试报告