为什么我的单元测试没有运行

2024-10-01 13:23:58 发布

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

我正在写一个unites来测试我的代码,但最后它说运行了0个测试。 这是我的单位代码:

import roman1
import roman2
import unittest

class KnownValues(unittest.TestCase):
    known_values =  ((1, 'I'),
                     (2, 'II'),
                     (3, 'III'),
                     (4, 'IV'),
                     (5, 'V'))
def test_to_roman_values(self):
    for integer, numeral in self.known_values:
        result = roman1.to_roman(integer)
        self.assertEqual(numeral, result)

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

但它说在0秒内进行了0次测试。我可以运行另一个我写得很好的单位,设置基本相同。我的代码有问题吗?我正在使用macosx的python


Tags: to代码importselfmain单位integerunittest
1条回答
网友
1楼 · 发布于 2024-10-01 13:23:58

正如jonsharpe所说,您的test_to_roman_values方法不在KnownValues类中,因为缩进是错误的。在

您需要将整个方法再缩进一个制表符(4个空格),如:

import roman1
import roman2
import unittest

class KnownValues(unittest.TestCase):
    known_values =  ((1, 'I'),
                     (2, 'II'),
                     (3, 'III'),
                     (4, 'IV'),
                     (5, 'V'))

    def test_to_roman_values(self):
        for integer, numeral in self.known_values:
            result = roman1.to_roman(integer)
            self.assertEqual(numeral, result)

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

这将使它成为一个类方法,您的测试应该可以正常运行。在

相关问题 更多 >