7.使用子测试区分测试迭代

2018-10-30  本文已影响0人  MirrorAi

新增于3.4版本

当你的某些测试只有很小的差异(比如某些参数)时,unittest允许你使用subTest()上下文管理器在一个测试方法的主体内区分它们。

举个例子,如下的测试:

class NumbersTest(unittest.TestCase):

  def test_even(self):
    """
    Test that numbers between 0 and 5 are all even.
    """
    for i in range(0, 6):
      with self.subTest(i=i):
        self.assertEqual(i % 2, 0)

运行它的输出将如下所示:

如果不使用子测试,执行将在第一次失败后停止并且错误将不太容易诊断,因为i的值不会显示:

上一篇下一篇

猜你喜欢

热点阅读