Найти - Пользователи
Полная версия: Ошибка при импорте тестового модуля
Начало » Django » Ошибка при импорте тестового модуля
1 2 3
megoloman
Здравствуйте! Помогите пожалуйста с запуском теста
django-admin.py test
, почему он не может импортировать мой
tests.py
?

ERROR: apps.contact_info.tests (unittest.loader.ModuleImportFailure)
    ----------------------------------------------------------------------
    ImportError: Failed to import test module: apps.contact_info.tests
    Traceback (most recent call last):
      File "/home/deploy/.pythonbrew/pythons/Python-2.7.3/lib/python2.7/unittest/loader.py", line 252, in _find_tests
        module = self._get_module_from_name(name)
      File "/home/deploy/.pythonbrew/pythons/Python-2.7.3/lib/python2.7/unittest/loader.py", line 230, in _get_module_from_name
        __import__(name)
      File "/home/deploy/buildbot/slave3/full/build/apps/contact_info/tests.py", line 4, in <module>
        class ModelTest(TestCase):
      File "/home/deploy/buildbot/slave3/full/build/apps/contact_info/tests.py", line 5, in ModelTest
        info = Info.objects.get()
      File "/var/tmp/buildenv/9653c157fa6c198de95e006d5cea84c3461359ae/lib/python2.7/site-packages/django/db/models/manager.py", line 151, in get
        return self.get_queryset().get(*args, **kwargs)
      File "/var/tmp/buildenv/9653c157fa6c198de95e006d5cea84c3461359ae/lib/python2.7/site-packages/django/db/models/query.py", line 304, in get
        num = len(clone)
      File "/var/tmp/buildenv/9653c157fa6c198de95e006d5cea84c3461359ae/lib/python2.7/site-packages/django/db/models/query.py", line 77, in __len__
        self._fetch_all()
      File "/var/tmp/buildenv/9653c157fa6c198de95e006d5cea84c3461359ae/lib/python2.7/site-packages/django/db/models/query.py", line 857, in _fetch_all
        self._result_cache = list(self.iterator())
      File "/var/tmp/buildenv/9653c157fa6c198de95e006d5cea84c3461359ae/lib/python2.7/site-packages/django/db/models/query.py", line 220, in iterator
        for row in compiler.results_iter():
      File "/var/tmp/buildenv/9653c157fa6c198de95e006d5cea84c3461359ae/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 713, in results_iter
        for rows in self.execute_sql(MULTI):
      File "/var/tmp/buildenv/9653c157fa6c198de95e006d5cea84c3461359ae/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 786, in execute_sql
        cursor.execute(sql, params)
      File "/var/tmp/buildenv/9653c157fa6c198de95e006d5cea84c3461359ae/lib/python2.7/site-packages/django/db/backends/util.py", line 53, in execute
        return self.cursor.execute(sql, params)
      File "/var/tmp/buildenv/9653c157fa6c198de95e006d5cea84c3461359ae/lib/python2.7/site-packages/django/db/utils.py", line 99, in __exit__
        six.reraise(dj_exc_type, dj_exc_value, traceback)
      File "/var/tmp/buildenv/9653c157fa6c198de95e006d5cea84c3461359ae/lib/python2.7/site-packages/django/db/backends/util.py", line 53, in execute
        return self.cursor.execute(sql, params)
      File "/var/tmp/buildenv/9653c157fa6c198de95e006d5cea84c3461359ae/lib/python2.7/site-packages/django/db/backends/sqlite3/base.py", line 452, in execute
        return Database.Cursor.execute(self, query, params)
    OperationalError: no such table: contact_info_info
JOHN_16
megoloman
OperationalError: no such table: contact_info_info
такой таблицы нет, либо в вашем тесте ошибка, либо не выполнена миграция и тп, в общем модель не соответствует таблице БД
megoloman
Загрузку данных произвожу с fixtures, теперь у себя когда запускаю все работает:

Creating test database for alias 'default'...
..
----------------------------------------------------------------------
Ran 2 tests in 0.001s
OK
Destroying test database for alias 'default'...

Но когда отдаю человеку не тестирование, у него по-прежнему происходит ошибка:

OperationalError: no such table: contact_info_info
FishHook
Хм, а так вообще можно: гет без параметров?

info = Info.objects.get()
FishHook
megoloman
Но когда отдаю человеку не тестирование
а версии джанги у вас одинаковые?
megoloman
Да, я сначала на гитхаб заливаю, а от туда система уже тянет всё и тестирует, и собстевенно потом вот это выдает http://bb.getbarista.com:8011/builders/buildbot-full/builds/108505/steps/test/logs/stdio
FishHook
megoloman
Да, я сначала на гитхаб заливаю,
Не понял, а при чем тут гитхаб? Вы на гитхаб вместе со всеми зависимостями заливаете что ли?
Что именно заливается на гитхаб? И что за “система”?
megoloman
Да, я тестовое задание выполняю, сначала git clone одного проекта сделал, потом после выполнения тикета git push обратно выполняю и merge и система тестирует это
FishHook
megoloman
Я все равно не понимаю, как гит гарантирует вам одинаковость версий Джанго.
Ну да бог с ним. Миграции вы создали?
megoloman
Да, миграции делаю, видимо я тест неправильно выполняю, заменил
info = Info.objects.get()
на
info = Info.objects.all()

теперь пишет ошибка другая:
ERROR: testInfo (apps.contact_info.tests.ModelTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/deploy/buildbot/slave4/full/build/apps/contact_info/tests.py", line 8, in testInfo
    self.assertTrue(self.info.name)
AttributeError: 'QuerySet' object has no attribute 'name'


Вообщем я создал 5 полей в классе
Info
(
models.py
), заполнил их данными с
fixtures
, и тестирую этим кодом:

from django.test import TestCase
from models import Info
class ModelTest(TestCase):
	""" Test for my data """
	info = Info.objects.all()
	def testInfo(self):
		self.assertTrue(self.info.name)
		self.assertTrue(self.info.surname)
		self.assertTrue(self.info.date_of_birth)
		self.assertTrue(self.info.contacts)
		self.assertTrue(self.info.bio)

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB