python 3.4 unittest失败,尽管在课堂上有预期的失败

时间:2014-07-21 13:04:27

标签: python python-3.4 python-unittest

unittest.expectedFailure装饰器似乎改变了Python 3.3和3.4之间的行为,但我找不到任何有关该更改的文档。 问题是,以下导致Python 3.4.1测试失败,但不适用于Python 2.7或3.3(所有在debian系统上):

import unittest

@unittest.expectedFailure
class TestA(unittest.TestCase):
    def test_me(self):
        raise Exception('no')

unittest.main()

请注意,这只是演示此问题的简短示例脚本。在实际的测试套件中,我无法检查异常,但依赖expectedFailure在某些情况下通过某些测试。

1 个答案:

答案 0 :(得分:1)

这是Python 3.4.0到3.4.3 中的回归错误 #21112: Python 3.4 regression: unittest.expectedFailure no longer works on TestCase subclasses,因为unittest在3.4中已经过硬重构,在3.4中修复了。 4(v3.4.4rc1 by commit ed599b7