[英]Run Django tests in the VSCode Test explorer?
我正在嘗試在 VSCode 測試資源管理器中運行 Django 單元測試,此外,我希望 CodeLens 的“運行測試”按鈕出現在每個測試上方。 在此處輸入圖像描述但是,在測試資源管理器中,當我按下“播放”按鈕時,會顯示錯誤:“沒有運行測試”沒有運行測試
我的目錄結構是:
我正在使用單元測試框架。 我的 Settings.json 看起來像這樣:
{
"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,
}
當我按下綠色的“播放”按鈕時,測試資源管理器播放按鈕Python 測試日志輸出顯示消息“由我啟動的線程中的未處理異常”我正在使用 pipenv 虛擬環境。 如何在 VSCode 測試資源管理器中運行這些 Django 測試?
我看到使用 pyTest 是 unittest 的替代品,如何輕松設置它作為替代品?
請考慮以下檢查:
你的測試目錄中應該有__init__.py
在測試配置的 vscode 中使用 pytest 框架
使用: pip install pytest-django
使用以下內容在根目錄中復制pytest.ini
:
# -- 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
現在它應該可以按您的意願工作了。 你可以看到這個stackoverflow鏈接
我也一直在研究這個。 問題是 python unittest pytest 和 nose 不能替代 Django 測試,因為它們無法加載 Django 測試所做的一切。
Django Test Runner 可能適合您: https ://marketplace.visualstudio.com/items?itemName=Pachwenko.django-test-runner
- 我仍然遇到問題,因為我的項目根目錄不直接包含我的應用程序,但判斷你的項目結構可能對你有用。
這是讓 Django 測試在完整的 vscode 支持下運行的通用方法
test*.py
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
中運行它
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.