pytest-断言语句
2023-04-18 15:27:04 时间
pytest允许在测试用例中使用标准的python断言,如下:
# test_case.py中的内容
def foo(x, y):
return x + y
def test_01():
assert foo(3, 4) == 8
本例中的函数期望返回一个固定的值。如果该断言失败了,你会看到该函数的返回值:
$ pytest test_assert1.py
============================= test session starts ==============================
platform darwin ‐‐ Python 3.7.6, pytest‐4.2.1, py‐1.7.0, pluggy‐0.8.1
rootdir: /Users/liuke/test/demo, inifile:
collected 1 item
test_case.py F [100%]
=================================== FAILURES ===================================
________________________________ test_function _________________________________
def test_function():
> assert foo(3, 4) == 8
E assert 7 == 8
E + where 7 = foo()
test_case.py:5: AssertionError
=========================== 1 failed in 0.07 seconds ===========================
pytest支持显示常见的子表达式的值,包括调用,属性,比较以及二元和一元运算符。(参看Demo
of Python failure reports with purest 这允许你使用你习惯的python的在不丢失内省信息的情况下
构造代码。(什么是内省信息?更详细的内部输出信息?) 如果你为断言指定了输出信息,那么不会
输出任何内省信息,而是在traceback中直接输出指定的信息:
assert a % 2 ==0, "value was odd, should be even"
更多断言内省信息请参考Advanced assertion introspection
相关文章
- ABP Framework 7.0 RC 新增功能简介
- 微服务和分布式系统中的授权解决方案
- 《精读 Mastering ABP Framework》教程发布
- ABP Framework 5.3.0 版本新增功能和变更说明
- MAUI 已知问题 PathFigureCollectionConverter 非线程安全
- dotnet 警惕使用 StackTrace 加获取方法标记 Attribute 特性在 Release 下被内联
- FastTunnel-开源内网穿透框架
- dotnet 6 修复在 System.Text.Json 使用 source generation 源代码生成提示 SYSLIB1032 错误
- 详解kubernetes的发布方式
- Dotnet程序的内存与垃圾回收
- 将NETStandard和NetCore智能提示从英文变成中文
- 未能加载文件或程序集“Renci.SshNet, Version=2016.1.0.0, Culture=neutral, PublicKeyToken=……”
- pve虚拟机Vmware安装教程
- .NET Core 实现后台任务(定时任务)
- C#封装GRPC类库及调用简单实例
- AutoFac
- .NET 6 实现滑动验证码(五)、验证码设置与缓存
- Windows 7环境下HttpListener拒绝访问异常解决方法
- 用C# + Winform 做一个简易的游戏设计器。
- 篇(19)-Asp.Net Core 入门实战-权限管理之整理菜单导航控制显示(Partial View和Component View)