Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
比较列表值的Python单元测试_Python_Unit Testing_Assertions - Fatal编程技术网

比较列表值的Python单元测试

比较列表值的Python单元测试,python,unit-testing,assertions,Python,Unit Testing,Assertions,因此,我目前正在尝试编写一个简单的测试,它将在一个单独的py文件中将一个列表的值与另一个列表的值进行比较。我熟悉AssertListQuals(a,b),但我可能使用不正确,或者我遗漏了一些东西。当我运行模块时,我从testsuite中完全没有得到响应。没有错误代码或任何东西。也许你们能帮我 这是我的测试套件 from MyList import main import unittest class TestSuite(unittest.TestCase): def test_V

因此,我目前正在尝试编写一个简单的测试,它将在一个单独的py文件中将一个列表的值与另一个列表的值进行比较。我熟悉
AssertListQuals(a,b)
,但我可能使用不正确,或者我遗漏了一些东西。当我运行模块时,我从testsuite中完全没有得到响应。没有错误代码或任何东西。也许你们能帮我

这是我的测试套件

from MyList import main
import unittest

class TestSuite(unittest.TestCase):



    def test_ValueContains(self):

        print('test')

        testList = [1,2,3]
        value = MyList
        self.assertListEqual(testList,value)


if __name__== "main":
            unittest.main()
这是MyList.py

def main():

    MyList = [1,2,3]

main()
我想做的就是能够检查
MyList==testList
,并在运行测试时得到“Ok”


抱歉,我是单元测试新手

请尝试修改您的代码:

def main():
    MyList = [1,2,3]
    return MyList

问题是您运行main方法时没有存储值。这可以通过返回值而不是简单地赋值来实现

您还需要更改底部的if语句

if __name__ == "main":


因为这是正确的命名约定。

我得到了
NameError:没有定义全局名称“myList”
错误,它是真正的-
myList
是在
main()
函数范围内定义的,它没有被导入。尝试在测试中添加print语句,看看它是否在运行。检查文档中的命令行参数。在您的单独模块中,您正在设置一个全局变量。嘿@daveydave400。我在测试中添加了一个print语句,正如您所料,测试似乎根本没有运行。。我为测试套件添加了更新的代码。我不知道为什么。。
if __name__ == "main":
if __name__ == "__main__":