如何编写用于在Python中导入模块的unittest
编写单元测试以查看模块是否正确安装的python方法是什么?通过正确安装,我的意思是,它不会引发导入错误:没有名为foo的模块。我不明白您为什么需要测试它,但类似于:如何编写用于在Python中导入模块的unittest,python,django,unit-testing,Python,Django,Unit Testing,编写单元测试以查看模块是否正确安装的python方法是什么?通过正确安装,我的意思是,它不会引发导入错误:没有名为foo的模块。我不明白您为什么需要测试它,但类似于: def my_import_test(self): import my_module 如果引发导入错误,则测试失败,否则将通过 因为我必须部署我的Django 不同服务器上的应用程序和 它需要一些我想要的额外模块 确保所有必需的模块 已安装 这根本不是单元测试场景 这是一个生产准备过程,从技术上讲,它不是对应用程序的测试
def my_import_test(self):
import my_module
如果引发导入错误,则测试失败,否则将通过
因为我必须部署我的Django
不同服务器上的应用程序和
它需要一些我想要的额外模块
确保所有必需的模块
已安装
这根本不是单元测试场景
这是一个生产准备过程,从技术上讲,它不是对应用程序的测试
这是一个关于环境的问题。我们的包括很多东西
从这样一个简单的脚本开始。添加您需要确保存在的每件事情
try:
import simplejson
except ImportError:
print "***FAILURE: simplejson missing***"
sys.exit( 2 )
sys.exit( 0 )
作为安装的一部分,只需在每个环境中运行此脚本。这根本不是单元测试。这是安装程序安装的先决条件。一般来说,单元测试不多。您不信任
import
语句吗?代码的导入行非常简单——而且非常容易检查——以至于对其进行单元测试似乎有点愚蠢。为什么要对import
语句进行单元测试?因为我必须在不同的服务器上部署我的Django应用程序,而且它需要一些额外的模块,所以我希望确保安装了所有必需的模块。例如,确保为python 2.5安装了simplejson。当然我相信import语句,我只是不想忘记安装我需要的模块。看起来你在生产环境上运行测试,这很奇怪。无论如何,您正在测试您是否具有适当的依赖关系,这是PackageManager的工作。或者为您的应用程序创建包,或者使用pythonic依赖关系管理器(想到virtualenv中的pip和pip install-r requirements.txt),也许我不清楚我需要什么。我想测试模块导入是否成功,以便查看缺少哪些模块以及需要安装哪些模块。那么我如何使用self.assertUnequals。。。声明非常感谢,很抱歉使用了错误的术语,这显然让一大群人走错了路:)