为什么我的python unittest脚本在导入脚本时调用它?

2024-04-18 18:33:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图测试一个python脚本,当我将脚本导入到我的测试套件中时,它会调用该脚本。在下面的例子中,我导入了list3rdparty,一旦我运行了测试,它就会立即调用list3rdparty。我不想发生这种事。我希望测试只调用每个测试用例中的函数。在

列表3rdpartytest.py
import unittest
from list3rdparty import * ## this is where the script is being imported


class TestOutputMethods(unittest.TestCase):


    def setUp(self):
        pass

    def test_no_args_returns_help(self):
        args = []
        self.assertEqual(get_third_party(args), help())

    ##get_third_party is a function in list3rdparty##


if __name__ == '__main__':
    unittest.main(warnings = False) 
列表3rdparty.py ^{2}$

Tags: pyimportself脚本列表getismain
1条回答
网友
1楼 · 发布于 2024-04-18 18:33:15

您可能有模块级的代码,这些代码将在导入时执行。例如,如果您有一个包含以下内容的文件,它将在第一次导入时打印该字符串。在

import something
from whatever import another

print 'ding'

为了避免这种情况,请将代码放在如下块中:

^{pr2}$

这只会在直接从命令行调用时运行代码。在

相关问题 更多 >