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 - Fatal编程技术网

Python单元测试运行主函数

Python单元测试运行主函数,python,unit-testing,Python,Unit Testing,下面是程序的设置方式。我有一个UI,它(自然地)等待用户输入 root = Tk() root.title("This space intentionally left blank") mainFrame = Frame(root) mainFrame.grid(column=1, row=2) sideFrame=Frame(root) sideFrame.grid(column=2, row=2) topLabelFrame=Frame(root) topLabelFrame.grid(co

下面是程序的设置方式。我有一个UI,它(自然地)等待用户输入

root = Tk()
root.title("This space intentionally left blank")
mainFrame = Frame(root)
mainFrame.grid(column=1, row=2)
sideFrame=Frame(root)
sideFrame.grid(column=2, row=2)
topLabelFrame=Frame(root)
topLabelFrame.grid(column=1, row=1, columnspan=99)
main()
root.mainloop()
这是我的单元测试:

from unittest import TestCase
from AL2.AutoLinker2_0 import InputProcessor


    class TestInputProcessor(TestCase):

        def test_tokenize(self):
            IP = InputProcessor("")
            self.assertEqual(IP.tokenize("elbow mac"), ["elbow", "mac"])
当我运行时,我的UI弹出并挂起单元测试,直到我关闭UI。 我不熟悉单元测试,但我的理解是,单元测试应该只测试类,而不需要运行整个程序。这是我不理解的吗,或者这可能是IDE(pycharm)的问题,或者是我的程序设置错误?
谢谢

将Python文件作为模块导入时,全局范围内的任何代码都将在解析该文件时执行。这也适用于类中的任何代码

要允许导入和调用文件,您需要使用:

#!/usr/bin/python3
x = 1
y = 3

if "__name__" == "__main__":
    print(x+y)
__名称总是包含当前模块的名称,除非模块正在执行,在这种情况下,它将具有名称“\uuuuu main\uuuuuu”


有关更多信息,请参见:或

将Python文件作为模块导入时,解析文件时将执行全局范围内的任何代码。这也适用于类中的任何代码

要允许导入和调用文件,您需要使用:

#!/usr/bin/python3
x = 1
y = 3

if "__name__" == "__main__":
    print(x+y)
__名称总是包含当前模块的名称,除非模块正在执行,在这种情况下,它将具有名称“\uuuuu main\uuuuuu”


有关更多信息,请参见:或

如果您没有模块格式的代码,并且您正在将其导入单元测试,那么它将运行GUI代码。请确保使用if name==“main”条件altanner,我希望您将此作为答案发布,以便我可以接受。如果您没有模块格式的代码,并且正在将其导入单元测试,它将运行GUI代码。请确保使用if name==“main”条件altanner,我希望您将此作为答案发布,以便我可以接受它。