python - Pytest 版本的 Unittest assertIs
问题描述
这是这篇文章的 pytest 版本。
我写了以下测试
def test_find_winner():
assert(find_winner(easy_games, 'A', 'T'))==2
assert(find_winner(easy_games, 'T', 'L'))==1
assert(find_winner(easy_games, 'L', 'T'))==2
assert(find_winner(easy_games, 'A', 'B'))==0
assert(find_winner(easy_games, 'E', 'T'))==0
assert(find_winner(easy_games, 'E', 'A'))==0
assert(find_winner(easy_games, 'B', 'D'))==0
对于所有等于 0 的断言语句。我没有发现我返回了错误的类型。我返回的是False
(A Bool) 而不是0
(an int)。
Unittest 有一个assertIs函数,但似乎 pytest 只使用 assert 进行测试。是否有任何等效的功能或 pytest 替代方案来绕过真假评估
assert(find_winner(easy_games, 'B', 'D'))==0
编辑:大家好,感谢您的回复,我理解为什么 0 和 False 应该相等,但这只是我最初将它评估为 False 但如果我没有发现它,因为我的测试仍在通过,我会完全错过它。
尝试了@jonrsharpe 的建议,这正是我所需要的。
assert(find_winner(easy_games, 'B', 'D')) is 0
解决方案
推荐阅读
- python - 使用numpy在矩阵中划分一行
- excel - 将 Excel VBA 中的超链接添加到 Outlook 约会
- python-3.x - 通过 ModelCheckpoint 回调保存整个模型不起作用
- node.js - 错误您的锁定文件需要更新,但纱线是使用 `--frozen-lockfile` 运行的
- javascript - Django 3. 将下拉菜单选择从 .html 传递到表单时遇到问题
- reactjs - 如何使用 MemoryRouter 测试 useParams 调用
- html - React - 如何知道组件是否同步在链接元素中?
- angular - Angular Material“搜索”组件
- design-patterns - 我应该使用通用还是具体的 setter 和 getter 来处理映射实体?
- android - MediaStyle通知进度条在轨道暂停时不断前进API 30