Python 在django中设置卸载登录注销的正确方法
为了测试我使用django制作的轮询应用程序,投票/查看结果的先决条件是用户应该登录。我想创建一个testsuite,其中安装程序包括创建testuser,登录他,拆卸包括注销用户和删除用户 我遇到了setUp()和tearDown()方法,但知道它们在测试中针对每个方法都完成了。我希望在类级别上具有此功能,并看到django有setUpClass和tearDownClass,但由于它们是类方法,我无法对它们执行self.client.login、self.client.logout操作。然后我创建了一个LoginMixin,其中包含setUp和tearDown方法 我想知道这两种方法中哪一种更适合python,是否有比每次测试前登录和注销更好的替代方法Python 在django中设置卸载登录注销的正确方法,python,django,testing,Python,Django,Testing,为了测试我使用django制作的轮询应用程序,投票/查看结果的先决条件是用户应该登录。我想创建一个testsuite,其中安装程序包括创建testuser,登录他,拆卸包括注销用户和删除用户 我遇到了setUp()和tearDown()方法,但知道它们在测试中针对每个方法都完成了。我希望在类级别上具有此功能,并看到django有setUpClass和tearDownClass,但由于它们是类方法,我无法对它们执行self.client.login、self.client.logout操作。然后我
我使用django_nose作为测试运行程序。如果您不使用
setUpClass
classmethod的唯一原因是因为您没有访问默认客户机的权限,那么您可以创建自己的并参考该方法:
from django.test.client import Client
class LoginMixin():
client = Client()
# ...
您使用什么应用程序/模块进行测试?WebTest?使用django_nose作为测试运行程序-测试是使用通常的django单元测试编写的,如本文所述-好吧,就像TestCase文档一样。创建一个名为
Something(TestCase)
的类。然后,对于这个类,创建setUp
和tearDown
(每次调用Something
类中的函数时都会调用它们。然后创建所需的函数测试(名称必须以test...
开头。当然,安装程序和拆卸程序将执行登录/注销。按照最初的帖子,安装程序和拆卸程序已经完成了登录/注销。但是,每个方法都会调用安装程序,拆卸程序,我想实现的功能是在类级别登录/注销-登录-运行该类中的所有测试-注销。这些方法需要使用客户机对象-但他们不能,因为类方法将在类级别而不是对象级别登录。所以我想知道人们通常遵循的最佳实践是什么。