如果我這樣稱呼它,我看到一個漂亮的DIFF:的Python:self.assertEqual(A,B,味精) - >我要DIFF和味精
self.assertEqual(a, b)
如果我這樣稱呼它,我只看到味精:
self.assertEqual(a, b, msg)
有沒有簡單的方法來顯示差異和味精?
實施assertEqual()
我自己會工作,但我問自己這是否是最好的方法。
Plattform:Python2.7和pytest 2.6.2。
如果我這樣稱呼它,我看到一個漂亮的DIFF:的Python:self.assertEqual(A,B,味精) - >我要DIFF和味精
self.assertEqual(a, b)
如果我這樣稱呼它,我只看到味精:
self.assertEqual(a, b, msg)
有沒有簡單的方法來顯示差異和味精?
實施assertEqual()
我自己會工作,但我問自己這是否是最好的方法。
Plattform:Python2.7和pytest 2.6.2。
如果您設置longMessage
attributeTrue
,您將看到兩個消息。
例子:
class TestFoo(unittest.TestCase):
longMessage = True # <--
def test_foo(self):
self.assertEqual(1+2, 2, 'custom message')
輸出:
F
======================================================================
FAIL: test_foo (__main__.TestFoo)
----------------------------------------------------------------------
Traceback (most recent call last):
File "t.py", line 6, in test_foo
self.assertEqual(1+2, 2, 'custom message')
AssertionError: 3 != 2 : custom message
----------------------------------------------------------------------
Ran 1 test in 0.000s
由於您使用pytest,你也可以使用pytest的純斷言,而不是單元測試兼容性:
def test_foo():
assert "abcdefg" == "abcde", "My message"
輸出:
====================== FAILURES ======================
______________________ test_foo ______________________
def test_foo():
> assert "abcdefg" == "abcde", "My message"
E AssertionError: My message
E assert 'abcdefg' == 'abcde'
E - abcdefg
E ? --
E + abcde
是的,我可以做這個。我必須與我的團隊討論這個問題。到目前爲止,我們使用self.assertFOO()方法。 – guettli
pytest做到這一點,我想.. –