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

问题描述:

我有一个Django项目,具有行为特征和单元测试测试。该单元测试的测试被组织像这样:如何更改django-behave测试运行器的测试文件发现模式?

theproject/ 
    theapp/ 
     tests/ 
      tests_one.py 
      tests_other.py 
      ... 

它刺激有前缀的测试文件,这些文件已经明确由tests目录中被确定为这样的,以“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发现名称不以“tests_”开头的文件中的测试?

我通过从django-behave切换到behave-django来解决此问题。

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

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