python - 在测试中检查 CLI 的退出代码
问题描述
我正在为命令行工具编写自动化测试。本质上,我想使用各种选项调用 CLI 并测试退出代码和/或输出。
我的测试如下所示:
from mymodule.cli_tool import main
def test_args(capfd):
with pytest.raises(SystemExit) as e:
main(args=['--junk_option'])
# check the exit code to make sure it is non-zero
???
如何查看退出代码?
解决方案
你需要检查value.code
,像这样:
assert e.value.code != 0
推荐阅读
- kubernetes - 处理与外部 Microsoft SQL VM 集群的连接的正确方法
- ios - Apple 发送的崩溃日志无法正确符号化
- python - jupyter 控制台中显示的度量值与 Tensorboard 显示的不匹配
- java - Java 8 Map with optional key to map with value of optional as key
- php - 缺少附件 .pdf 扩展名的传入电子邮件
- sql - 当小数点后出现零时在 Presto 中截断
- android-studio - 如何在 Android Studio 4.2 上导入 .AAR 模块
- networking - GCP - 没有 Cloud NAT,但给定公共 IP 离开 VPC
- python - 在弹丸运动中找到击中目标的角度
- django - 为什么 djangoRest 框架 retrieveAPIView 不能用电子邮件过滤?