首页  >  问答  >  正文

python - django error (unittest.loader._FailedTest),求大神解答。

ERROR:

[lau@192 superlists]$ python manage.py test
Creating test database for alias 'default'...
E
======================================================================
ERROR: lau.tests (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: lau.tests
Traceback (most recent call last):
File "/home/lau/anaconda3/lib/python3.5/unittest/loader.py", line 428, in _find_test_path
module = self._get_module_from_name(name)
File "/home/lau/anaconda3/lib/python3.5/unittest/loader.py", line 369, in _get_module_from_name
__import__(name)
File "/home/lau/PycharmProjects/python core/superlists/lau/tests.py", line 3, in <module>
from lists.views import home_page
File "/home/lau/anaconda3/lib/python3.5/site-packages/lists.py", line 7, in <module>
def print_list (the_list, indent = false, level = 0):
NameError: name 'false' is not defined
----------------------------------------------------------------------
Ran 1 test in 0.000s

FAILED (errors=1)
Destroying test database for alias 'default'...

tests.py:

from django.test import TestCase
from django.core.urlresolvers import resolve
from lists.views import home_page

class HomePageTest(TestCase):
def test_root_url_resolves_to_home_page_view(self):
    found = resolve('/')
    self.assertEqual(found.func,home_page)

urls.py

from django.conf.urls import url,patterns,include
from django.contrib import admin
urlpatterns = ['',
url(r'^admin/', admin.site.urls),
url(r'^$', 'lau.views.home_page', name='home'),]

views.py

from django.shortcuts import render
def home_page():
pass

不管怎么修改都是ERROR: lau.tests (unittest.loader._FailedTest)
google了很久,只看到一个类似的
原答案:I have found my mistake. I started to use backspace for all the lines and clear all the irrelevant spaces in tests.py and the problem is solved now.
我真的费解死了,解决的让人摸不着头脑,祈求大神解答,谢谢,小白再次谢过。

PHP中文网PHP中文网2740 天前1581

全部回复(1)我来回复

  • 巴扎黑

    巴扎黑2017-04-18 09:35:35

    谢谢各位的关心帮助,研究了一晚上,问题已经解决。
    我的问题主要有三点:
    第一点:问题在tests.py里
    tests.py:

    from django.test import TestCase
    from django.core.urlresolvers import resolve
    ***from lists.views import home_page***
    class HomePageTest(TestCase):
    def test_root_url_resolves_to_home_page_view(self):
    found = resolve('/')
    self.assertEqual(found.func,home_page) 
    ——————————————————————————————————————————————————————  
    from lists.views import home_page 这段代码应该改成
    from lau.views import homepage,因为使用的书籍按部就班,所以导致这种低级错误。

    第二点:解决上述问题后,出现 ImportError: cannot import name 'patterns'错误
    解决方法:在urls.py中进行修改,导入home_page

    from django.conf.urls import include,url
    from django.contrib import admin
    from lau.views import home_page
    urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    url(r'^$', home_page),

    第三点:这是我自己的一点感悟,在django1.10中,pattern被弃用,但我还是使用了pattern,这是非常不对的,加上我看东西不认真,官方文档也没有读通,出现这种低级错误,实在惭愧。

    总结错误和解决办法:

     ImportError: cannot import name 'patterns'
     解决方法:弃用patterns
     TypeError: view must be a callable or a list/tuple in the case of include().
     解决方法:导入home_page模块即可解决
     SyntaxError: trailing comma not allowed without surrounding parentheses
     解决方法:检查import处标点符号
     ERROR:unittest,loader.FailedTest
     解决办法:检查tests.py文件引入是否正确,检查文件是否有空格。

    参考的相关问题网址:
    http://stackoverflow.com/ques...
    http://python.6.x6.nabble.com...

    回复
    0
  • 取消回复