Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 9, 2015 00:41:02

megoloman
Зарегистрирован: 2015-10-26
Сообщения: 113
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка при импорте тестового модуля

Здравствуйте! Помогите пожалуйста с запуском теста

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

Офлайн

#2 Дек. 9, 2015 04:24:36

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Ошибка при импорте тестового модуля

megoloman
OperationalError: no such table: contact_info_info
такой таблицы нет, либо в вашем тесте ошибка, либо не выполнена миграция и тп, в общем модель не соответствует таблице БД



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Дек. 9, 2015 13:39:31

megoloman
Зарегистрирован: 2015-10-26
Сообщения: 113
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка при импорте тестового модуля

Загрузку данных произвожу с 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

Офлайн

#4 Дек. 9, 2015 13:45:18

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Ошибка при импорте тестового модуля

Хм, а так вообще можно: гет без параметров?

info = Info.objects.get()



Офлайн

#5 Дек. 9, 2015 13:46:23

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Ошибка при импорте тестового модуля

megoloman
Но когда отдаю человеку не тестирование
а версии джанги у вас одинаковые?



Офлайн

#6 Дек. 9, 2015 14:13:59

megoloman
Зарегистрирован: 2015-10-26
Сообщения: 113
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка при импорте тестового модуля

Да, я сначала на гитхаб заливаю, а от туда система уже тянет всё и тестирует, и собстевенно потом вот это выдает http://bb.getbarista.com:8011/builders/buildbot-full/builds/108505/steps/test/logs/stdio

Офлайн

#7 Дек. 9, 2015 14:16:49

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Ошибка при импорте тестового модуля

megoloman
Да, я сначала на гитхаб заливаю,
Не понял, а при чем тут гитхаб? Вы на гитхаб вместе со всеми зависимостями заливаете что ли?
Что именно заливается на гитхаб? И что за “система”?



Отредактировано FishHook (Дек. 9, 2015 14:20:18)

Офлайн

#8 Дек. 9, 2015 14:21:43

megoloman
Зарегистрирован: 2015-10-26
Сообщения: 113
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка при импорте тестового модуля

Да, я тестовое задание выполняю, сначала git clone одного проекта сделал, потом после выполнения тикета git push обратно выполняю и merge и система тестирует это

Офлайн

#9 Дек. 9, 2015 14:32:07

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Ошибка при импорте тестового модуля

megoloman
Я все равно не понимаю, как гит гарантирует вам одинаковость версий Джанго.
Ну да бог с ним. Миграции вы создали?



Отредактировано FishHook (Дек. 9, 2015 14:32:34)

Офлайн

#10 Дек. 9, 2015 14:39:36

megoloman
Зарегистрирован: 2015-10-26
Сообщения: 113
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка при импорте тестового модуля

Да, миграции делаю, видимо я тест неправильно выполняю, заменил

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)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version