首页 > 解决方案 > 如何在其他模块中导入或使用内置模块名称时隐藏它

问题描述

我使用 python unittest 框架进行集成测试。为了消除混淆,我想以“integrationtest.TestCase”而不是“unittest.TestCase”的方式继承TestCase类。

此外,如果我也可以执行“import integrationtest”而不是“import unittest”会更好,类似于“unittest.main()”,最好用“integrationtest.main()”调用它

我是 python 和 unittest 框架的新手。你能提供一些建议吗?

标签: pythonunit-testing

解决方案


我不同意有任何需要做你想做的事,无论如何你可以轻松实现你想要的。定义一个 python 模块,调用integrationtest.py内容如下:

from unittest import *
from unittest import mock   # python3

确保模块位于可以通过集成测试导入的位置。现在您可以unittest通过导入此模块来访问所有设施。

注意:单个*-import 不足以导入子模块,因此需要该from unittest import mock行。

这种做法在 Python 中并不常见,因此我不鼓励这样做。


推荐阅读