【问题标题】:How can a test in Python unittest get access to the verbosity level?Python unittest 中的测试如何访问详细级别?
【发布时间】:2017-08-17 12:37:05
【问题描述】:

在 Python unittest 框架中调用测试套件时,可以提供-v 以获得更高级别的详细信息,例如:

python3 test_suite.py -v

测试用例如何访问详细级别?

【问题讨论】:

  • 您可以使用logging 模块并为您的测试创建一个记录器吗?如果您需要其他内容,我认为您可以从记录器中提取日志记录级别。
  • @FamousJameous:我没有考虑过使用logging 模块;认为详细信息可能会立即可用。
  • 我的意思是,您当然可以手动执行此操作,您只需解析命令行并将该信息转发给您的测试。但如果您想要详细级别的原因是决定是否打印消息,请使用logging 模块。
  • @FamousJameous,我怎么能按照你的建议使用logging 根据verbosity 级别打印消息?

标签: python python-3.x unit-testing verbosity


【解决方案1】:

详细程度不会直接传递给TestCaseTestSuite,因为它们实际上都不需要它。 runner uses the verbosity information(运行测试的类)来处理打印出的信息量。

查看源代码,因为argv 在任何时候都不会被清除,检查详细标志是否存在的非侵入式方法是窥视argv 并查看'-v' 是否在里面它。

【讨论】:

  • 谢谢,所以我会做('-v' in argv) or ('--verbose' in argv)
猜你喜欢
  • 2015-02-11
  • 2011-09-19
  • 1970-01-01
  • 1970-01-01
  • 2019-11-17
  • 2015-10-23
  • 2016-12-09
  • 1970-01-01
  • 2021-08-06
相关资源
最近更新 更多