通过使用Pycharm运行Django测试来“清空测试套件”(如果从shell启动,则可以找到测试)

2024-10-16 20:49:37 发布

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

我很难用PyCharm运行我的Django测试。 过去,我使用“python running configuration”很容易做到这一点,我使用manage.py来运行它们,在OSX上使用python 2.7,Django<;=1.7,Pycharm<;=4。 现在我在LinuxMint上,使用Python3.4.3、Django1.8.2和PyCharm4.5。 我总是用virtualenv来管理我的项目。 现在,通过从Pycharm运行“manage.py test”,找不到任何测试(它打印“空测试套件”)。 但是测试是存在的,如果我从shell运行命令,它们就会被执行。 所以我真的不明白怎么回事。 实际上,我可以使用我创建的“黑客”启动测试,但问题是Pycharm无法附加到进程以允许测试中的断点(这是我使用最多的功能之一!)。 我的“黑客”是:

我创建了一个python脚本:

import subprocess


def main():
    subprocess.call('./venv_activator.sh', shell=True)


if __name__ == '__main__':
    main()

然后是bash脚本(venv_activator.sh):

#!/usr/bin/env bash
source .ENV/bin/activate
python manage.py test myapp -p "*_tests.py" --noinput -v 2 --settings=settings.test

实际上,python脚本用于为Pycharm创建“python运行配置”,然后激活virtualenv并调用django test命令。

ps:是的,我在PyCharm中打开了“Django支持”(我在virtualenv下配置了python解释器)


Tags: djangopytest命令lt脚本managevirtualenv