python - Django 测试 - 'HTTP_USER_AGENT' 测试客户端的关键字参数无效

标签 python django unit-testing

我的 Django 单元测试已停止工作。现在实例化 Django 测试客户端失败并出现以下错误:

Traceback (most recent call last):
  File "/vagrant/my/app/tests.py", line 43, in setUp
    self.client = Client(HTTP_USER_AGENT='Mozilla/5.0')
  File "/usr/local/lib/python2.6/dist-packages/Django-1.4.1-py2.6.egg/django/db/models/base.py", line 367, in __init__
    raise TypeError("'%s' is an invalid keyword argument for this function" % kwargs.keys()[0])
TypeError: 'HTTP_USER_AGENT' is an invalid keyword argument for this function

当我实例化 Django 测试客户端时,它们失败了。

from django.test.client import Client
...

class MyAppTestCase(TestCase):
    base_fixtures = ['fixtures.json']

    def setUp(self):
        self.client = Client(HTTP_USER_AGENT='Mozilla/5.0') # fails here
        self.setupSession()
        self.authenticateUser()

当我运行 python manage.py shell 并输入以下内容时,它工作正常。

vagrant@lucid32:/var/www/mytraps.com/spensa$ python manage.py shell
Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56) 
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from django.test.client import Client
>>> client = Client(HTTP_USER_AGENT='Mozilla/5.0')
>>> 

对于为什么它会阻塞 HTTP_USER_AGENT 关键字有什么想法吗?

最佳答案

我找到了解决方案。

我有一个名为“Client”的模型类。我的模型是在 django 测试 Client 类之后导入的。

你无法解决愚蠢的问题。

关于python - Django 测试 - 'HTTP_USER_AGENT' 测试客户端的关键字参数无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23684997/

相关文章:

django - PostgreSQL:使用远程服务器上同一表中的新记录更新表

ruby - 不运行 mongodb 的 mongoid 单元测试

unit-testing - Dart pub构建:dart版本和已编译js版本之间的一致性

django - 模拟自定义文件存储后端

python - 在字符串中的子字符串中查找值?

python - 返回 unicode 字符串的 __str__ 方法在一个环境中有效,但在另一个环境中失败

python - Matplotlib - 更改单个 x 轴刻度标签的颜色

python - 损失在 Pytorch 中不收敛,但在 Tensorflow 中收敛

Django - 为什么syncdb不尊重数据库路由器?

python - 根据可选参数过滤 Django 中的对象