我正在为一个方法编写测试,我想验证该方法是否返回特定类型.然而,当我try 这一点时,我得到了一个错误.

def search_emails(mail):  
  data = mail.uid('search')
  raw_email = data[0][1]  
  return raw_email

类型(原始邮箱)为:<class 'bytes'>

当我运行此测试时:

def test_search_emails_returns_bytes():  
  result = email_handler.search_emails(mail)
  assert type(result) == "<class 'bytes'>"

我得到了这个错误.我如何陈述断言才能通过测试?还是有更好的方法来编写测试?

E       assert <class 'bytes'> == "<class 'bytes'>"

推荐答案

可以使用is运算符判断变量是否属于特定类型

my_var = 'hello world'
assert type(my_var) is str

Python-3.x相关问答推荐

根据其他数据框架的列顺序从数据框架中进行 Select

如何在M x N数组的行中找到所有值的组合

Django 3.2/Django-cms 3.11:查找错误:型号帐户.客户用户未注册

为什么 tkinter 在 tkinter 窗口外计算鼠标事件?

基于其他列的条件向Panda数据框中添加值到新列

在不改变 python 中原始数组顺序的情况下,对多维字符串数组进行降序排序?

无法提出给定 for 循环的原因 (Python 3.11)

安装没有 sudo 权限的 python3 和 pip3

在 pytest 中,如何测试 sys.exit('some error message')?

pytorch 中 mps 设备的 manual_seed

如何使用复选按钮更改 Pyplot 轴的属性?

使用 RANSAC 在激光雷达点云中查找电力线

在不使用字符串方法的情况下查找字符串最后一个单词的长度 - Python

将名字转换成姓氏、首字母和中间字母的格式

判断是否存在大文件而不下载它

如何在 Python 3 中通过 IP 获取 WhoIs 信息?

如何在 Spyder 控制台中使用变量执行 Python 3.3 脚本?

Selenium (Python) - 使用 Chrome 网络驱动程序等待下载过程完成

为什么`multiprocessing.Queue.get`这么慢?

Python中调用者函数的访问变量