我可以在pycharm社区版中运行Django测试吗?

时间:2018-02-13 09:21:21

标签: python django unit-testing pycharm

我有一个Django项目,其中包含一些我刚刚导入PyCharm的测试。我设法让它配置,以便我可以运行服务器,并且工作正常,但现在我也想运行测试。我试图创建一个基于路径的测试配置,并给出manage.py路径和测试命令以及我的设置文件作为参数,但我得到以下神秘的错误消息:

Testing started at 10:12 ...
/Users/jonathan/anaconda/bin/python "/Applications/PyCharm CE.app/Contents/helpers/pycharm/_jb_unittest_runner.py" --path /Users/jonathan/Work/GenettaSoft/modeling-web/modeling/manage.py -- test --settings=Modeling.settings.tests
Launching unittests with arguments python -m unittest /Users/jonathan/Work/GenettaSoft/modeling-web/modeling/manage.py test --settings=Modeling.settings.tests in /Users/jonathan/Work/GenettaSoft/modeling-web/modeling

usage: python -m unittest [-h] [-v] [-q] [--locals] [-f] [-c]
                          [tests [tests ...]]
python -m unittest: error: unrecognized arguments: --settings=Modeling.settings.tests

Process finished with exit code 2
Empty test suite.

它必须以某种方式以错误的方式运行。这根本不能完成吗?

聚苯乙烯。我发现Running Django tests in PyCharm但它似乎根本没有相关(更旧的版本?),因为我得到了不同的错误,事情看起来非常不同。

2 个答案:

答案 0 :(得分:0)

你可以使用标准的python配置,而不是用于django测试的python unittest。只需添加新的python运行/调试配置,选择manage.py作为文件并指定参数test --settings=Modeling.settings.tests

答案 1 :(得分:0)

您还可以编辑PyCharm的测试运行程序帮助程序脚本。对我来说,它位于let callFoo2Differently = foo2<int*string> () 。然后执行/opt/JetBrains/PyCharm/plugins/python-ce/helpers/pycharm/_jb_nosetest_runner.py,并在主入口点之后立即执行import django。为了完整起见,我将计算机中的整个文件包括在内。

django.setup()

然后,您可以在# coding=utf-8 import re import nose import sys import django from _jb_runner_tools import jb_start_tests, jb_patch_separator, jb_doc_args, JB_DISABLE_BUFFERING from teamcity.nose_report import TeamcityReport if __name__ == '__main__': django.setup() path, targets, additional_args = jb_start_tests() sys.argv += [path] if path else jb_patch_separator(targets, fs_glue="/", python_glue=".", fs_to_python_glue=".py:") sys.argv += additional_args if JB_DISABLE_BUFFERING and "-s" not in sys.argv: sys.argv += ["-s"] jb_doc_args("Nosetest", sys.argv) sys.exit(nose.main(addplugins=[TeamcityReport()])) 工具窗口中右键单击任何测试,然后单击Project。您也可以将单元测试文件放在任何目录中,然后单击Run test

注意::在运行单元测试之前,您需要确保已将所有必需的环境变量添加到“运行配置”中。