<p>你在找这样的东西吗:</p>
<pre><code>import unittest
def is_even(number):
return True # quite buggy implementation
class TestCase(unittest.TestCase):
def setUp(self):
self.expected_output = [
(2, True),
(3, False),
(4, True),
(5, False)
]
def test_is_even(self):
real_res = []
for arg, _ in self.expected_output:
real_res.append((arg, is_even(arg)))
msg_error = '\nFor %s Expected %s Got %s'
msg = []
for res1, res2 in zip(real_res, self.expected_output):
if res1[1] != res2[1]:
msg.append(msg_error % (res1[0], res1[1], res2[1]))
self.assertEqual(real_res, self.expected_output, "".join(msg))
if __name__ == '__main__':
unittest.main()
</code></pre>
<p>输出:</p>
<pre><code>F
======================================================================
FAIL: test_is_even (__main__.TestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "test.py", line 29, in test_example
self.assertEqual(real_res, self.expected_output, ''.join(msg))
AssertionError:
For 3 Expected True Got False
For 5 Expected True Got False
----------------------------------------------------------------------
Ran 1 test in 0.000s
FAILED (failures=1)
</code></pre>