比较列表值的Python单元测试
因此,我目前正在尝试编写一个简单的测试,它将在一个单独的py文件中将一个列表的值与另一个列表的值进行比较。我熟悉比较列表值的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
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__":