(二)运行pytest

pytest有点很多,易读、易写、易运行、失败信息详细等等。



运行pytest

  • 不提供参数时,pytest会在当前目录以及子目录下寻找测试文件,然后运行找到的测试代码
  • 提供一个或者多个目录名、文件名,pytest会逐个查找并运行测试
  • 为了找到所有的测试代码,pytest会递归遍历每个目录以及子目录


在test文件夹下创建

  test_three.py

import collections
Task = collections.namedtuple("Task", ["name", "age", "salary"])
Task.__new__.__defaults__ = (None, None, None)

def test_defaults():
	t1 = Task()
	t2 = Task(None, None, None)
	assert t1 ==t2

def test_member_access():
	t = Task("bone", "26")

	assert t.name == "bone"
	assert t.age == "26"
	assert t.salary == None

  test_four.py

import collections
Task = collections.namedtuple("Task", ["name", "age", "salary"])
Task.__new__.__defaults__ = (None, None, None)

def test_asdict():
	t_task = Task("bone", "26", "3000")
	t_dict = t_task._asdict()
	expected = {
		"name": "bone",
		"age": "26",
		"salary": "3000"
	}

	assert t_dict == expected

def test_replace():
	t_before = Task("bone", "26", "3000")
	t_after = t_before._replace(age="25", salary="222")
	t_expected = Task("bone", "25", "222")
	assert t_after == t_expected

此时目录结构如下:

在ch1直接运行pytest,没有指定参数,那么会将4个测试文件都运行

指定测试文件或者目录



pytest搜索测试文件和测试用例的过程为测试搜索(test discovery)

遵守pytest的命名规则,pytest就能自动搜索所有待执行 测试用例

命令规则:

  • 测试文件以test_开头或者_test结尾:test_something.py、something_test.py
  • 测试函数、测试类方法以test_开头:test_something
  • 测试类开头为Test:TestSomething

测试文件和测试函数最好以test_开头,如果之前的测试用例遵循其他的命名规则,也可以修改默认的测试搜索规则

原文地址:https://www.cnblogs.com/Mr-chenshuai/p/10394761.html

时间: 2024-07-30 19:27:44

(二)运行pytest的相关文章

pytest文档3-pycharm运行pytest

前言 上一篇pytest文档2-用例运行规则已经介绍了如何在cmd执行pytest用例,平常我们写代码在pycharm比较多 写完用例之后,需要调试看看,是不是能正常运行,如果每次跑去cmd执行,太麻烦,所以很有必要学习如何在pycharm里面运行pytest用例 pycharm运行三种方式 1.以xx.py脚本方式直接执行,当写的代码里面没用到unittest和pytest框架时,并且脚本名称不是以test_开头命名的,此时pycharm会以xx.py脚本方式运行 2.当脚本命名为test_x

不能在Python Console中运行pytest

在Python Console中运行pytest发现报错了 这是为什么?因为Python Console已经是进入python之后的环境,就像在python自带的IDLE中运行pytest pytest的运行是不需要进入python环境的,因此可以在Terminal命令行中运行pytest,结果是ok的 原文地址:https://www.cnblogs.com/cnhkzyy/p/9384882.html

pytest_03_pycharm运行pytest (转:上海悠悠)

前言 上一篇pytest文档2-用例运行规则已经介绍了如何在cmd执行pytest用例,平常我们写代码在pycharm比较多 写完用例之后,需要调试看看,是不是能正常运行,如果每次跑去cmd执行,太麻烦,所以很有必要学习如何在pycharm里面运行pytest用例 pycharm运行三种方式 1.以xx.py脚本方式直接执行,当写的代码里面没用到unittest和pytest框架时,并且脚本名称不是以test_开头命名的,此时pycharm会以xx.py脚本方式运行 2.当脚本命名为test_x

链接脚本在编程中的高级运用之二——运行时库和C++特性支持

我们在链接脚本在编程中的高级运用之一可变长数组中已经讲述了编译链接的原理,并且以uboot命令为例详细介绍链接脚本如何实现可变长数组.本章在前者的基础上继续讲述链接脚本在运行时库中的高级应用技巧,以及编译器如何支持类对象的构造和析构函数.本章的应用原则上类似于可变长数组,但本章更加侧重讲述运行时库的实现原理,其不仅通过链接脚本的section来实现可变长数组去支持任意多类对象的构造函数和析构函数,而且还支持特定函数体的"可变长". 一.运行时库和类对象的构造.析构函数 很多程序员以为程

pycharm运行Pytest警告:passing a string to pytest.main() is deprecated, pass a list of arguments instead.

初学pytest. 将pytest写进Python代码中 不同运行方式都可正常运行     =======================**********************======================================= ============================================================================ 若是没有将pytest写进Python代码,直接运行的话将不能执行pytest: 没

Python(二) 运行第一个Python程序

1. 输出 # output print() print("hello world") print("hello","willow","output") print("100 + 200 = ",100+200) print(100+200) 2.输入 # input name = input() name print(name) name = input("please enter your n

电力项目十二--运行监控中添加进度条

应用场景: 1.文件上传.下载(IO流); 2.数据的导入导出: 3.大批量数据的增删改查: 4.远程数据的访问. 添加函数loading(); <%@ page language="java" pageEncoding="UTF-8"%> <%@taglib uri="/struts-tags" prefix="s" %> <!-- 添加标签,然后做栈顶获取数据 --> <html&

运行pytest,提示编码错误

配置好pytest.ini文件之后,在命令行输入pytest,提示 报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multibyte sequence 原因是:该配置文件是“utf-8”编码 解决办法:把文件编码改成“gbk”就行了 原文地址:https://www.cnblogs.com/zhaoquanmo/p/10756674.html

spark streaming 接收kafka消息之二 -- 运行在driver端的receiver

先从源码来深入理解一下 DirectKafkaInputDStream 的将 kafka 作为输入流时,如何确保 exactly-once 语义. val stream: InputDStream[(String, String, Long)] = KafkaUtils.createDirectStream [String, String, StringDecoder, StringDecoder, (String, String, Long)]( ssc, kafkaParams, fromO