在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’
测试运行完成!