首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在VSCode测试资源管理器中运行Django测试?

在VSCode测试资源管理器中运行Django测试?
EN

Stack Overflow用户
提问于 2020-01-27 22:29:24
回答 3查看 5K关注 0票数 9

我试图在VSCode测试资源管理器中运行Django单元测试,同时,我希望CodeLens 'Run‘按钮出现在每个测试之上。但是,在“测试资源管理器”中,当我按下“播放”按钮时,会显示一个错误:“没有运行测试”没有测试

我的目录结构是:

  • Workspace_Folder
    • settings.json
    • 回购
      • python_module_1
        • sub_module
          • 测试
          • test_a.py

我正在使用最统一的框架。我的Settings.json看起来是这样的:

代码语言:javascript
复制
{
    "python.pythonPath": "/Users/nbonilla/.local/share/virtualenvs/koku-iTLe243o/bin/python",
    "python.testing.unittestArgs": [
        "-v",
        "-s",
        "${workspaceFolder}/python_module_1/sub_module/"
    ],
    "python.testing.pytestEnabled": false,
    "python.testing.nosetestsEnabled": false,
    "python.testing.unittestEnabled": true,
}

当我按绿色"Play“按钮测试资源管理器播放按钮时,Python输出显示消息”由启动的线程中未处理的异常启动的线程中未处理的异常“,我使用的是pipenv虚拟环境。如何在VSCode测试资源管理器中运行这些Django测试?

我看到使用pyTest是单元测试的另一种选择,如何轻松地将其设置为替换呢?

EN

回答 3

Stack Overflow用户

发布于 2021-04-12 11:23:35

请考虑下列检查:

  1. 您的测试目录中应该有__init__.py
  2. 在测试配置的vscode中,使用pytest框架。
  3. 用途:pip install pytest-django
  4. 使用以下内容在根目录中复制pytest.ini
代码语言:javascript
复制
# -- FILE: pytest.ini (or tox.ini)
[pytest]
DJANGO_SETTINGS_MODULE = <your-web-project-name>.settings (like mysite.settings)
# -- recommended but optional:
python_files = tests.py test_*.py *_tests.py

现在它应该能按你的意愿工作。你可以看到这个堆栈溢出链接

票数 3
EN

Stack Overflow用户

发布于 2020-02-09 11:59:56

我也在调查这件事。问题是和not不能替代Django测试,因为它们不能加载Django测试所做的所有事情。

Django测试运行程序可能对您有用:https://marketplace.visualstudio.com/items?itemName=Pachwenko.django-test-runner

--由于我的项目根不直接包含我的应用程序,所以我在这方面仍然有问题,但是对您的项目结构的判断可能对您有用。

票数 1
EN

Stack Overflow用户

发布于 2022-01-03 19:34:25

下面是让Django测试在完全 vscode支持下运行的通用方法

  1. 配置python测试
    1. 选择单位
    2. 根目录
    3. test*.py

  2. 然后,每个测试用例都需要如下所示:
代码语言:javascript
复制
from django.test import TestCase

class views(TestCase):

    @classmethod
    def setUpClass(cls):
        import django
        django.setup()

    def test_something(self,):
        from user.model import something
        ...

任何要导入的函数都有要在测试用例中导入的(如图所示)。setUpClass在设置测试类之前运行,并将设置django项目。一旦安装完毕,您就可以在测试方法中导入函数。如果您试图在脚本顶部导入模型/视图,它将引发异常,因为django不是安装程序。如果需要运行django项目的任何其他预初始化,请在setUpClass中运行它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59939819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档