在我使用nosetests
运行的一系列测试中,assertEqual(a,b)
失败,a
和b
(相当长的字符串)逐字打印填充屏幕,混淆其他一切。您可以通过将其添加到您的一个测试用例中来创建类似的情况:
def test_my_long_strings(self):
self.assertEqual('a'*5000, 'b'*5000)
我尝试设置--verbosity=0
和--debug-log=File
,但没有任何效果,并且两个字符串仍然在屏幕上打印。
是否有关闭assertEqual
详细程度或将其重定向到除stderr以外的单独文件(还报告了测试失败/通过)?
答案 0 :(得分:8)
assertEqual将第三个参数作为失败的断言消息。
class TestMyTest(unittest.TestCase):
def test_example(self):
a = 'a'
b = 'b'
self.assertEqual(a, b, 'a did not equal b')
打印失败位置的堆栈跟踪加
AssertionError: a did not equal b
参考: https://docs.python.org/2/library/unittest.html#unittest.TestCase.assertEqual