Python unittest - 在 0.000 秒内运行 0 个测试

新手上路,请多包涵

所以我想做这个代码 套路 来练习。我想在单独的文件中使用 tdd 实现 kata:

算法:

 # stringcalculator.py
def Add(string):
   return 1

和测试:

 # stringcalculator.spec.py
from stringcalculator import Add
import unittest

class TestStringCalculator(unittest.TestCase):
    def add_returns_zero_for_emptyString(self):
        self.assertEqual(Add(' '), 0)

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

运行测试文件时,我得到:

 Ran 0 tests in 0.000s

OK

但是它应该返回一个失败的测试。我在这里想念什么?

原文由 MattSom 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 503
2 个回答

正如 python unittest 文档 中所述:

最简单的 TestCase 子类将简单地实现一个测试方法(即名称以 test 开头的方法)

因此,您需要将方法名称更改为如下所示:

 def test_add_returns_zero_for_emptyString(self):
    self.assertEqual(Add(' '), 0)

原文由 Taku 发布,翻译遵循 CC BY-SA 3.0 许可协议

旁注:此外,所有测试所在的文件的名称应以“test_”开头

原文由 Shashank 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题