You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何自动化执行doctest.testmod()?解析TestResults结果咨询

自动化执行doctest.testmod()及解析结果的方法

一、自动化执行testmod()

直接在脚本中调用doctest.testmod()就能自动运行模块内所有doctest测试用例。如果想让测试仅在脚本直接运行时执行(被其他模块导入时不触发),可以加上如下判断:

if __name__ == "__main__":
    import doctest
    test_results = doctest.testmod()

二、解析TestResults结果

testmod()返回的TestResults对象自带两个核心属性,直接通过属性访问就能获取测试数据:

  • failed:失败的测试用例数量
  • attempted:总共执行的测试用例数量

结合这两个属性,你可以轻松实现测试结果的自动化判断,示例代码如下:

def average(values):
    """Computes the arithmetic mean of a list of numbers.
    >>> print(average([20, 30, 70])) 
    40.0
    """
    return sum(values) / len(values)

if __name__ == "__main__":
    import doctest
    test_results = doctest.testmod()
    
    # 输出测试统计信息
    print(f"总测试用例数: {test_results.attempted}")
    print(f"失败用例数: {test_results.failed}")
    
    # 自动化判断测试是否全通过
    if test_results.failed == 0:
        print("所有测试用例执行通过!")
    else:
        print(f"有 {test_results.failed} 个测试用例失败,请检查代码逻辑。")

内容的提问来源于stack exchange,提问作者Nick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 12:27:04