如何使用提供的unittest编写程序

时间:2016-10-08 12:41:02

标签: python python-2.7 unit-testing tdd

我有一个程序的单元测试。作为测试驱动开发的新手,如何从给定的测试生成程序

例如我有这个测试:

class MaxMinTest(TestCase):
"""docstring for MaxMinTest"""

def test_find_max_min_four(self):
    self.assertListEqual([1, 4],
                         find_max_min([1, 2, 3, 4]),
                         msg='should return [1,4] for [1, 2, 3, 4]')

def test_find_max_min_one(self):
    self.assertListEqual([4, 6],
                         find_max_min([6, 4]),
                         msg='should return [4, 6] for [6, 4]')

def test_find_max_min_two(self):
    self.assertListEqual([2, 78],
                         find_max_min([4, 66, 6, 44, 7, 78, 8, 68, 2]),
                         msg='should return [2, 78] for [4, 66, 6, 44, 7, 78, 8, 68, 2]')

def test_find_max_min_three(self):
    self.assertListEqual([1, 4],
                         find_max_min([1, 2, 3, 4]),
                         msg='should return [1,4] for [1, 2, 3, 4]')

def test_find_max_min_identity(self):
    self.assertListEqual([4],
                         find_max_min([4, 4, 4, 4]),
                         msg='Return the number of elements in the list in a new list if the `min` and `max` are equal')

提前致谢。还请为像我这样的初学者分享学习测试驱动开发的资源。

1 个答案:

答案 0 :(得分:1)

如果没有给出使这些测试通过的代码的答案,您的方法可能是这样的:

  • 你在测试什么?

  • 这个功能需要什么,它会返回什么?

  • 如何进行一次测试通过?一旦我进行了一次测试,我如何进行另一次测试,同时确保先前的测试仍然通过。依此类推,直到所有测试都通过您在函数中编写的代码。

所以,要高层回答你的问题。

您正在测试名为MinMax的内容,该内容提示您找到某些内容的最小值和最大值。这个的东西是一个名为find_max_min的函数,它将list作为输入,并返回一个包含两个值的列表。这两个值是有序的,minmax传递给您的函数。list

要查看的文档: