gpt4 book ai didi

python - 在实现 `__name__ == "的类中使用 _":` __main_ `unittest.TestCase`

转载 作者:行者123 更新时间:2023-12-02 02:39:52 25 4
gpt4 key购买 nike

我有一个 unittest.TestCase 有一个非常重的设置类

如果代码作为 main 启动,我想使用模拟运行它,如果它通过导入运行,则运行完整的数据检查,如下所示:

import unittest
from utilities import create_full_data,create_mock_data

if __name__ == "__main__":
print(' I want to run this block if code starts from here')
data_to_check=create_mock_data()
else:
print(' I want to run this block if imported')
data_to_check = create_full_data()


class Test_payer_seg(unittest.TestCase):

@classmethod
def setUpClass(cls):
cls.data_to_test = data_to_check

def test_data_qaulity(self):
self.assertTrue(1==1)

问题似乎是因为在引擎盖下 nosetests 检测到的是 python 测试并将其作为内部进程运行,因此 __name__ 不可能成为“主要” .

如果它是在主程序中启动的,我如何创建一个以模拟方式运行它的流程?

请注意,这个问题可能会发生,因为我正在使用 pycharm

运行它

最佳答案

pycharm 将其识别为单元测试并使用已安装的单元测试包自动运行它。您可以创建一个新的 Python configuration带有脚本完整路径和工作目录。这将在不使用单元测试包的情况下运行您的 main 部分。

关于python - 在实现 `__name__ == "的类中使用 _":` __main_ `unittest.TestCase`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60373684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com