Python/Django 排除在子目录中运行的测试

发布于 2025-01-10 06:07:55 字数 476 浏览 0 评论 0原文

我正在尝试从特定目录运行 Python 项目中的所有测试,但需要从子目录中排除一些测试。

希望输入如何从子目录中排除测试的信息。

home/
   --tests/
      --views/
          --/viewtest1.py
      --models/
          --/modeltest1.py
      --test1.py
  

我基本上想在 home 下运行所有​​内容,除了测试/视图中的任何内容。

#这将执行 home 下的所有测试,但包括视图测试。

./manage.py test home 

python 中的 EXCLUDE_DIRS 仅忽略顶级目录而不是子目录。所以这个说法是行不通的。

EXCLUDE_DIRS=views ./manage.py test home

I'm trying to run all tests in a Python project from a particular directory but need to exclude some test from a subdirectory.

Would like input into how to exclude tests from a subdirectory.

home/
   --tests/
      --views/
          --/viewtest1.py
      --models/
          --/modeltest1.py
      --test1.py
  

I basically want to run everything under home except anything in tests/view.

#This will execute all tests under home but would include views tests.

./manage.py test home 

EXCLUDE_DIRS from python is only ignoring top level directories and not a subdirectory. So this statement doesn't work.

EXCLUDE_DIRS=views ./manage.py test home

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

情绪少女 2025-01-17 06:07:55

如果您想从子目录运行测试,您应该遵循一些规则:
您的测试文件应遵循模式 test_{test-name}.py
在子目录中,您必须添加一个 __init__.py 文件,如下所示:

home/
   --tests/
      --views/
          __init__.py
          --/viewtest1.py
      --models/
          __init__.py
          --/modeltest1.py
      __init__.py
      --test1.py

注意:
您可以在 __init__.py 中添加测试文件,如下

tests/models/__init__.py

from test_models import *
# the file modeltest1.py renamed to test_models.py

if you want to run the test from sub dir you should follow some rules:
your test file should follow pattern test_{test-name}.py
in sub dir you must add a __init__.py file like this:

home/
   --tests/
      --views/
          __init__.py
          --/viewtest1.py
      --models/
          __init__.py
          --/modeltest1.py
      __init__.py
      --test1.py

note:
you can add test files in your __init__.py like this

tests/models/__init__.py

from test_models import *
# the file modeltest1.py renamed to test_models.py
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文