我有一个程序的单元测试。作为测试驱动开发的新手,如何从给定的测试生成程序
例如我有这个测试:
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')
提前致谢。还请为像我这样的初学者分享学习测试驱动开发的资源。
答案 0 :(得分:1)
如果没有给出使这些测试通过的代码的答案,您的方法可能是这样的:
你在测试什么?
这个功能需要什么,它会返回什么?
如何进行一次测试通过?一旦我进行了一次测试,我如何进行另一次测试,同时确保先前的测试仍然通过。依此类推,直到所有测试都通过您在函数中编写的代码。
所以,要高层回答你的问题。
您正在测试名为MinMax
的内容,该内容提示您找到某些内容的最小值和最大值。这个的东西是一个名为find_max_min
的函数,它将list
作为输入,并返回一个包含两个值的列表。这两个值是有序的,min
和max
传递给您的函数。list
要查看的文档: