39得票5回答
如何在Django测试框架中修改会话(session)

我的网站允许未登录的个人通过创建基于当前session_key的用户来贡献内容。 我想为我的视图设置一个测试,但似乎无法修改request.session: 我想这样做: from django.contrib.sessions.models import Session s = Ses...

39得票2回答
Django中测试“不同层”应采取哪些最佳实践?

我对测试不是很陌生,但在Django的不同层级中进行测试时,我被各种建议所搞糊涂。 有些人建议(而且他们是对的)避免在模型中使用文档测试,因为它们难以维护... 其他人则说不要使用固定装置,因为它们比助手函数灵活性差。 也有两组人争论是否使用Mock对象。第一组人认为使用Mock并隔离其...

38得票9回答
模拟Django Queryset以测试接受Queryset的函数

我在Django项目中有一个实用函数,它接收查询集并获取一些数据后返回结果。我想为这个函数编写一些测试。有没有办法来“模拟”一个QuerySet呢?我想创建一个不接触数据库的对象,并且可以向其中提供使用的值列表(例如一些虚假的行),然后它将表现得像一个查询集,允许使用字段查找/过滤/获取/全部...

38得票5回答
如何在Django中测试自定义模板标签?

我正在为一个Django应用程序添加一组模板标记,并且不确定如何对它们进行测试。我已经在我的模板中使用了它们,它们似乎能够正常工作,但我想找一些更正式的方法进行测试。主要逻辑是在模型/模型管理器中完成并已经进行了测试。标签只是检索数据并将其存储在上下文变量中。{% views_for_obje...

34得票1回答
在settings.py中指定Django测试数据库的名称

我正在使用 Python 对象指定数据库: DATABASES = { 'default':{ 'ENGINE':'mysql', 'NAME':'testsqldb', 'USER':'<username>', 'PASSWORD':'<pass...

34得票2回答
如何使用Django的assertJSONEqual来验证返回JsonResponse的视图响应

我正在使用Python 3.4和Django 1.7。我有一个视图返回JsonResponse。 def add_item_to_collection(request): #(...) return JsonResponse({'status':'success'}) 我...

31得票5回答
使用测试固件测试Django的FileField

我正在尝试为一些具有FileField的模型构建测试。模型如下:class SolutionFile(models.Model): ''' A file from a solution. ''' solution = models.ForeignKey(Solu...

31得票4回答
pytest和Failed: 不允许数据库访问,请使用"django_db"标记或"db"或"transactional_db"夹具来启用它。

在从 shell 中调用 pytest 时,我得到以下输出,因为我的测试存储在 apps.business.metrics.tools.tests.py 中,在导入模块期间 apps/business/metrics/widgets/employees/utilization.py 在模块...

29得票1回答
如何为Django应用程序设置单元测试用户?单元测试无法登录。

我已为我的Django应用启用了登录验证。但是,视图的单元测试无法正常工作,因为它们会卡在登录页面。在视图响应返回后立即设置断点并使用 print response.content 将输出包含“请登录”的短语。 我该如何设置用户以便测试用例可以登录?我已经尝试使用我的用户名和密码...

29得票2回答
编写适用于Django应用程序的良好测试

我从未写过测试,但我想开始为我的Django项目编写测试。我读了一些有关测试的文章,并决定尝试为一个非常简单的Django应用程序编写一些测试。 这个应用程序有两个视图(列表视图和详细视图),以及一个具有四个字段的模型:class News(models.Model): title ...