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

Python unittest中用assertEqual无法运行测试,显示执行0个测试

问题:Python unittest执行显示"Ran 0 tests in 0.000s"

我正在学习Python代码测试,编写了一个示例测试代码但无法运行。使用的代码如下:

import unittest
def MTP(a:float, b:float):
 return a*b

class MtpTestCase(unittest.TestCase):
 
 
 def Test_MTP(self):
 self.assertEqual(MTP(5,4), 20)
 

if __name__ == "__main__":
    unittest.main()

执行后得到结果:Ran 0 tests in 0.000s,不清楚问题出在哪里。


问题原因及解决方法

  • 测试方法命名不规范:unittest框架仅自动识别以test_(小写t开头)为前缀的方法作为测试用例,你的方法名是Test_MTP(大写T开头),框架无法识别该方法,因此显示运行0个测试。
  • 代码缩进错误:原代码中self.assertEqual语句无缩进,会触发语法错误,需按照Python规范缩进4个空格。

修正后的完整代码:

import unittest
def MTP(a:float, b:float):
    return a*b

class MtpTestCase(unittest.TestCase):
    def test_mtp(self):
        self.assertEqual(MTP(5,4), 20)

if __name__ == "__main__":
    unittest.main()

运行修正后的代码,会正常执行测试用例,输出示例如下:

.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 04:18:29