繁体   English   中英

对变异列表进行单元测试

[英]Unit test a Mutated List

我有一个旨在改变列表的函数。

我想为这个函数构建一些单元测试,但我不知道如何在函数没有返回值时测试值的变化......

例如:

def square_list(lst):
    """
    Input: a list of numbers
    Doesn't return anything, mutates given list
    """

    for i in range(len(lst)-1):
        lst[i] **= 2

显然我可以为此构建一个单元测试,但是如果没有返回值,它将无法工作

import unittest
from square_list import square_list

class TestSquareList(unittest.TestCase):

    def test_square_list(self):
        self.assertEqual(square_list([1, 2]), [1, 4])
        self.assertEqual(square_list([0]), [0])

你将如何测试这个函数适当地改变函数的输入?

你可以这样设置:

import unittest
from square_list import square_list

class TestSquareList(unittest.TestCase):

    def test_square_list(self):
        provided = [1, 2]
        expected = [1, 4]
        square_list(provided)   # mutates provided
        self.assertEqual(provided, expected)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM