找不到Django包测试

2024-10-02 04:33:51 发布

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

我手头有个奇怪的问题。在

我正在创建一个django包,并希望为其提供一些测试用例。在

这个包名为ajax_forms,完整路径是PYTHONPATH的一部分。 该目录还包含一个tests目录(带有init.py文件)a测试.py文件(包含测试)和网址.py文件。在

现在我要做测试。在

ajax_forms父目录有一个在已安装的应用程序中使用ajax_表单的项目设置示例。在

但我似乎不能让测试运行:

 >> ./manage.py test ajax_forms
Creating test database for alias 'default'...

----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK
Destroying test database for alias 'default'...

没有找到测试,所以我试着更具体地说:

^{pr2}$

甚至/管理.py阿贾克斯_表格.测试.测试.AjaxFormViewTest将找不到测试,并给出与上述相同的错误。在

但尝试从中导入测试用例/管理.py壳牌公司运作良好

In [2]: from ajax_forms.tests.tests import AjaxFormViewTest

我对这件事一无所知。在


Tags: 文件djangopytest目录defaultfor测试用例
3条回答

您需要将from tests import *放入__init__.py文件中

Django将在你的应用程序中查找一个名为tests的包/模块,然后询问它的命名空间以查找测试用例。在本例中,它将查看测试包的名称空间(来自init.py文件),但没有发现任何内容。通过在__init__.py文件中进行导入,您将把测试用例从测试模块导入到测试包的名称空间中,django将能够找到它们并运行它们。在

这个问题的另一个解决方案是使用更多的intelligent tests runner。您可以尝试nosedjango_nose-在这种情况下,它将发现测试。如果你不想安装其他应用程序,@Ctrlspc解决方案是解决这个问题的唯一方法。在

您可以在应用程序中添加models.py文件,将新应用程序添加到已安装的应用程序中,django将找到测试.py文件,而不必向__init__.py添加任何内容。在

我想@Ctrlspc方法和这个方法都有点脏。所以任何选择都可以

相关问题 更多 >

    热门问题