如何更改django-behave测试运行器的测试文件发现模式?

时间:2016-12-14 21:19:32

标签: python django python-2.7 python-unittest python-behave

我有一个带有行为特征和单元测试的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在名称不以"测试_"?

开头的文件中发现测试

1 个答案:

答案 0 :(得分:0)

我通过从django-behave切换到behave-django解决了这个问题。

behave-django不需要将Django TEST_RUNNER设置为自己的测试运行器,因此python manage.py test -p '*.py'可以工作。

behave-django不提供运行单元和验收测试的单个Django管理命令。我通过编写新的管理命令解决了这个问题。