在VSCode中执行Django测试

使用VSCode的测试运行快捷键(Ctrl + : A),进行Django的测试(相当于py manage.py tests)的设置。

在这篇文章中,我们将讨论如何配置在想要进行测试的Django项目不位于工作文件夹根目录下的情况。

Workdirectory/ <- VSCodeで開いているフォルダのルート
  git-work-dir/
    src/ <- テストしたいDjangoプロジェクト
      django-app/
        tests.py <- 実行したいテストファイル

准备文件

{
    // "python.testing.pytestArgs": [
    //     "git-work-dir"
    // ],
    "python.testing.unittestEnabled": false,
    "python.testing.cwd": "${workspaceFolder}/git-work-dir/src",
    "python.testing.pytestEnabled": true
}

可以从测试选项卡创建此文件的模板,但似乎不太起作用※,因此需要修正以下的问题。

    • python.testing.pytestArgs を削除する。

 

    • この設定自体は、テスト対象ファイルを探す場所を pytest に教えてあげるものだが、この設定によって見つかったテストは、ショートカットキー(Ctrl+: A)でテスト実行すると失敗してしまう。

 

    • python.testing.cwd を追加する。

 

    これにより、manage.pyのある場所とテスト対象ファイルを探す場所を pytest に教えてあげる。
[pytest]
DJANGO_SETTINGS_MODULE = config.settings.develop
python_files = tests.py
    • Djangoの設定ファイルを開発用と本番用で分けているような場合、DJANGO_SETTINGS_MODULEを指定して、テストで使う設定ファイルを教えてあげる。

 

    • python_filesを指定して、探すファイル名を pytest に教えてあげる。python_filesはオプションらしいが、自環境ではこれがないとファイルが見つからなかった。

 

    このファイルは、VSCodeのルートディレクトリに置く必要がある。

顺带一提

在使用VSCode执行Python测试时,可以选择使用unittest或pytest。然而,据说执行Django测试时只能使用pytest。

测试环境建设

py -m pip install pytest
py -m pip install pytest-django

在《VSCode文档》中测试Python的Visual Studio Code(VSCode)。
在《pytest-django文档》中配置Django设置。

2. 闲谈一下

发生错误

使用以下参数运行测试:–rootdir 略\工作目录 –override-ini junit_family=xunit1 –junit-xml=C:\Users\qwerty\AppData\Local\Temp\tmp-107122i8xbc2iq5Fl.xml
当前工作目录:略\工作目录
工作空间目录:略\工作目录
运行完成,解析输出
运行测试时发生错误:工作目录
TypeError:无法读取未定义的属性’length’
运行测试时发生错误:
TypeError:无法读取未定义的属性’length’
测试运行完成!

广告
将在 10 秒后关闭
bannerAds