我在python 3.4中编写单元测试,我想在单元测试框架失败时更改输出。我目前正在使用nose
和testtools
。我试图让一个简单的例子工作,这就是它的样子。
from testtools import TestCase
from testtools.matchers import Equals
class Test_Class(TestCase):
def test_stuff(self):
self.expectThat([5],Equals([4]))
输出为
F
======================================================================
FAIL: example.Test_Class.test_stuff
----------------------------------------------------------------------
testtools.testresult.real._StringException: Failed expectation: {{{
File "/home/john/simplecase/test1/example.py", line 6, in test_stuff
self.expectThat([5],Equals([4]))
File "/opt/python/Python-3.4.1/bin/lib/python3.4/site-packages/testtools-1.1.0-py3.4.egg /testtools/testcase.py", line 474, in expectThat
postfix_content="MismatchError: " + str(mismatch_error)
MismatchError: [4] != [5]
}}}
Traceback (most recent call last):
AssertionError: Forced Test Failure
此错误消息对我来说过于冗长。我可以比较多达50个测试,这使得很难分析故障。我希望输出类似于
MismatchError: [4] != [5]
我尝试将nosetests
的详细程度降低到1和0,但这并没有帮助。我还查看了日志记录和注释,但这些只允许我将数据附加到失败消息而不是更改它