我在Pilgrim的python3单元测试章节中遇到了麻烦和困难。我在romantest2.py中运行了完全相同的代码。在示例中提供的代码中没有处理异常。我把书上的例子归纳成一个小片段:
测试用例1.py
import unittest
class ToRomanBadInput(unittest.TestCase):
def test_too_large(self):
'''to_roman should fail with large input'''
self.assertRaises(roman2.OutOfRangeError,roman2.to_roman,4000)
if __name__ == '__main__':
unittest.main()
文件roman2.py
class OutOfRangeError(ValueError):
pass
def to_roman(n):
raise OutOfRangeError("Value n {0} is larger than 3999.".format(n))
我似乎不能在这方面前进。结果是我期望测试用例失败。 但它并没有显示:
..
------------------------------------------------------------
Ran 2 tests in 0.000s
OK
我正在Eclipse中使用并运行PyDev代码,python的版本是3.3.3
您正在断言
to_roman()
函数引发异常。如果测试成功,您的函数确实会引发异常。你知道吗相关问题 更多 >
编程相关推荐