Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何编写用于在Python中导入模块的unittest_Python_Django_Unit Testing - Fatal编程技术网

如何编写用于在Python中导入模块的unittest

如何编写用于在Python中导入模块的unittest,python,django,unit-testing,Python,Django,Unit Testing,编写单元测试以查看模块是否正确安装的python方法是什么?通过正确安装,我的意思是,它不会引发导入错误:没有名为foo的模块。我不明白您为什么需要测试它,但类似于: def my_import_test(self): import my_module 如果引发导入错误,则测试失败,否则将通过 因为我必须部署我的Django 不同服务器上的应用程序和 它需要一些我想要的额外模块 确保所有必需的模块 已安装 这根本不是单元测试场景 这是一个生产准备过程,从技术上讲,它不是对应用程序的测试

编写单元测试以查看模块是否正确安装的python方法是什么?通过正确安装,我的意思是,它不会引发导入错误:没有名为foo的模块。

我不明白您为什么需要测试它,但类似于:

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。。。声明非常感谢,很抱歉使用了错误的术语,这显然让一大群人走错了路:)