我有一个带有行为特征和单元测试的Django项目。 unittest测试的组织如下:
theproject/
theapp/
tests/
tests_one.py
tests_other.py
...
通过在tests
目录中使用" tests _"。
如果我重命名所有测试文件而没有"测试_"并将我的测试运动员更改为
TEST_RUNNER = 'django.test.runner.DiscoverRunner'
在settings.py中并执行
python manage.py test -p '*.py'
我的所有单元测试都会运行,但不是我的行为功能。
当我有
时TEST_RUNNER = 'django_behave.runner.DjangoBehaveTestSuiteRunner'
在settings.py中并执行
python manage.py test
我的功能运行但不是我的单元测试。
django-behave runner并没有-p
旗帜或我能看到的等同物。
如何让django-behave runner在名称不以"测试_"?
开头的文件中发现测试答案 0 :(得分:0)
我通过从django-behave切换到behave-django解决了这个问题。
behave-django不需要将Django TEST_RUNNER设置为自己的测试运行器,因此python manage.py test -p '*.py'
可以工作。
behave-django不提供运行单元和验收测试的单个Django管理命令。我通过编写新的管理命令解决了这个问题。