代码之家  ›  专栏  ›  技术社区  ›  Eric Schoonover thSoft

Django框架测试失败

  •  0
  • Eric Schoonover thSoft  · 技术社区  · 14 年前

    manage.py test 在只包含一个非常简单的用户定义测试的项目上,我在输出中得到以下错误。有人看过这个吗?我需要做什么来解决这个问题以便 test_shortcut_view (django.contrib.contenttypes.tests.ContentTypesTests) 成功了吗?

    /src/google_appengine/google/appengine/datastore/datastore_stub_util.py:21: DeprecationWarning: the md5 module is deprecated; use hashlib instead
        import md5
    /src/google_appengine/google/appengine/api/memcache/__init__.py:31: DeprecationWarning: the sha module is deprecated; use the hashlib module instead
        import sha
    /src/google_appengine/google/appengine/api/datastore_types.py:727: DeprecationWarning: object.__init__() takes no parameters
        super(Email, self).__init__(self, email)
    ............................................s.................F.....................................................................................................
    ======================================================================
    FAIL: test_shortcut_view (django.contrib.contenttypes.tests.ContentTypesTests)
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/src/django/contrib/contenttypes/tests.py", line 66, in test_shortcut_view
    self.assertEqual("http://example.com/users/john/", response._headers.get("location")[1])
    AssertionError: 'http://example.com/users/john/' != '/users/john/'
    
    ----------------------------------------------------------------------
    Ran 164 tests in 9.185s
    
    FAILED (failures=1, skipped=1)
    
    2 回复  |  直到 14 年前
        1
  •  1
  •   Stephan    14 年前

    答案就在你的回溯中:

    self.assertEqual("http://example.com/users/john/", response._headers.get("location")[1])
    AssertionError: 'http://example.com/users/john/' != '/users/john/'
    

    更改第一行:

    self.assertEqual("/users/john/", response._headers.get("location")[1])
    

    这应该可以解决测试问题。但是如果你没有写它的测试代码,我想问题出在example.com/部分。example.com可能来自您的站点设置。如果将其更改为正确的url,则会有一个称为sites的模型。

    你可以尝试使用不同的django版本。主干版本和稳定版本在测试期间的行为不同。

        2
  •  0
  •   user117365 user117365    13 年前

    失败是由默认django设置附带的单元测试引起的。

    例如 http://localhost:8000/admin/sites/ 拥有 SITE_ID = 1

    http://localhost:8000/admin/sites/site/1/ 其中1是您的站点id。

    --

    使用网站应用程序是可选的,您可以删除: 从你的应用列表。