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

2024-04-28 12:36:48 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我想做这个代码Kata来练习。 我想在单独的文件中用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

但是它应该返回一个失败的测试。我错过了什么?


Tags: 文件代码pyimportself算法addstring
3条回答

旁注:同样,所有测试所在的文件名应该以“test”开头

症状相同,但问题不同。确保没有混淆制表符和缩进空格。当您从联机资源复制代码并根据需要进行更新时,可能会出现此问题。由于标签和空格在大多数编辑器中看起来非常相似,因此测试函数可能没有正确定义。

如python unittestdoc中所述:

The simplest TestCase subclass will simply implement a test method (i.e. a method whose name starts with test)

因此,您需要将方法名称更改为以下内容:

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

相关问题 更多 >