我正在编写一个测试我的代码的联合体,但最后它说了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次测试。我能够运行另一个我写得很好的单位,设置基本相同。我的代码有问题吗?我正在使用mac OS X中的python
答案 0 :(得分:0)
原样,您的test_to_roman_values
方法不在KnownValues
类中,因为缩进是错误的,如jonsharpe所述。
您需要将整个方法缩进一个标签(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()
这将使它成为一个Class方法,您的测试应该正常运行。