首页 > 解决方案 > Python - 为什么我必须在我的测试文件中使用 if __name__ == '__main__'

问题描述

我遇到了这个unittest模块,我有点困惑。我对文件中的以下代码有疑问test_number.py

import unittest
from module import number

class NamesTestCase(unittest.TestCase):
    def test_number(self):
        verify = number(4)
        self.assertEqual(verify, True)
        
if __name__ == '__main__':
    unittest.main()

number来自的功能module.py只是验证给定数字的一些属性)

我想问一下那个 if __name__ == '__main__'部分。if我知道这可以确保如果我导入这个模块就不会进行测试,但是如果我直接运行它,为什么我必须在我的测试文件中添加这个语句呢?或者,换句话说,如果我知道,当我number()将来要在某个地方使用该函数时,为什么我必须添加这行代码,我不会从test_number.pyas导入它,test_number()而是直接从导入它module

标签: pythonunit-testing

解决方案


推荐阅读