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

Python Unittest运行整个py文件而非单个测试函数问题求助

问题原因
  • Python的模块导入机制会在导入文件时执行文件内所有顶层未缩进的代码
  • 你在simpleaddition.py末尾直接调用了run(),这行属于顶层执行代码,所以测试脚本导入add函数时,run()会被自动触发执行,之后才会运行测试逻辑
解决方法

修改simpleaddition.py的末尾执行逻辑,将run()调用包裹在if __name__ == '__main__':判断块中:

这个判断的作用是校验当前文件是否是直接被作为入口程序运行,只有直接运行该文件时才会执行判断块内的代码,被其他文件作为模块导入时不会触发块内逻辑。

修改后的simpleaddition.py代码如下:

def add(int1, int2):
    a = int1 + int2
    return (a)

def run():
    int1 = int(input())
    int2 = int(input())
    ans = add(int1, int2)
    print(ans)

# 新增判断,仅直接运行该文件时执行run
if __name__ == '__main__':
    run()

额外提示:你编写的测试脚本test_Assign方法中存在笔误,self.assertNotEqual(testAns, and)里的and应该是变量名ans,否则运行测试会报语法错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 16:09:03