0

我正在 Django 中编写一个身份验证后端来只记录几个用户。

它位于我的 Django 项目的根目录中的一个名为 restrictedauthentification/ 的文件夹中。(我是为一个特定的项目写下来的。)它有两个文件:backend.pytests.py

在最后一个文件中,我为它写了一些测试。但我无法使用命令./manage.pytest 运行它们,因为它不是已安装的应用程序。

有什么想法可以运行它们吗?

4

1 回答 1

0

好的,我找到了一个解决方案,让我无法将后端变成模块。

我不明白的东西可以帮助一些初学者:在 python 中,测试不能自行运行。它需要由 TestRunner 执行。

现在,可以使用TextTestRunner捆绑的 python 来执行测试并在标准输出上显示结果,但是当使用 django 进行测试时,需要在测试前后做一件事:调用函数setup_test_environment()teardown_test_environment().

所以我刚刚创建了一个继承TextTestRunner并重新定义它的方法的类,run()以便它执行 Django 提供的两个函数。

这里是 :

from restrictedauthentification.tests import TestRestrictedAuthentification
from django.test.utils import setup_test_environment, teardown_test_environment
from unittest import TextTestRunner

class DeadSimpleDjangoTestRunner(TextTestRunner):
    def run(self, test):
        setup_test_environment()
        super().run(test)
        teardown_test_environment()
于 2013-11-06T08:38:00.613 回答