Форум программистов, компьютерный форум, киберфорум
Python: Web
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
145 / 113 / 31
Регистрация: 12.06.2011
Сообщений: 1,246

Запутался с тестированием при использовании PostgreSQL?

19.06.2016, 10:34. Показов 724. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Django==1.9.7
psql (9.5.3)



Как-то уже поднимал вопрос о том, как же тестировать: https://www.cyberforum.ru/pyth... 52268.html
Я тогда потерял объект. И мне объяснили: перед выполнением каждого метода теста, БД очищается.
Только я начал что-то понимать, как пришла пора переходить с SQLite на PostgreSQL.

Код ниже.

Вот для SQLite тест проходит. Ладно, подумал я - бог с ним. Не чистит, так не чистит.
И написал для теста 2 self.assertEqual(url, '/documents/1002/').

И тест стал проходить.

Едем дальше.

Создаю еще один класс:

Python
1
class DocumentCommentTest(TestCase):
И в нем создаю документ, создаю к нему комментарий.

А в это время тест test_2_get_absolute_url опять начинает орать '/documents/1003/' != '/documents/1002/'.

Да, это что такое. Я уже и тесты пронумеровал, чтобы порядок их исполнения был всегда одинаков.
А тут из другого класса даже влияние пришло. Тут уже нумеруй - не нумеруй.

Выручайте, пожалуйста, как мне все это истолковать, как правильно делать и где почитать в документации или какую-нибудь серьезную статью.



Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
****VARIANT 1****
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'myproject',
        'USER': 'michael',
        'PASSWORD': '***',
        'HOST': 'localhost',
        'PORT': '',
    }
}
 
 
**VARIANT 2**
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': 'mydatabase',
        'USER': 'michael',
        'PASSWORD': '***',
        'HOST': 'localhost',
    }
}
 
 
    from django.test import TestCase
    def create_master_document(title=None,
                               dated_from=today,
                               dated_through=today,
                               created_by=user,
                               creation_date=today):
        title = title or "Some title"
 
        md = MasterDocument.objects.create(title = title,
                                           dated_from = dated_from,
                                           dated_through = dated_through,
                                           created_by = created_by,
                                           creation_date = creation_date)
        return md
 
    class MasterDocumentTest(TestCase):
 
        def test_0_create_master_document(self):
            create_master_document()
 
            number_of_mds = MasterDocument.objects.all().count()
            self.assertEqual(number_of_mds, 1)
 
        def test_1_create_multiple_master_documents(self):
            for i in range(0, 1000):
                create_master_document()
            number_of_mds = MasterDocument.objects.all().count()
            self.assertEqual(number_of_mds, 1000)
 
        def test_2_get_absolute_url(self):
            md = create_master_document()
            url = md.get_absolute_url()
            self.assertEqual(url, '/documents/1/')
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.06.2016, 10:34
Ответы с готовыми решениями:

Программы по контролю за тестированием
Всем привет! Есть какие-нибудь программы, с помощью которых можно вести контроль за тестированием?

Проблема с тестированием WebClass ?
При попытке протестировать готовый проект в браузер посылается HTTP://localhost/VbliveLib/default.asp? Где и как установить вместо...

Запутался при добавление
При реализации добавление запутался . нужно из таблицу корзина передать данные в таблицу продажа . содержание корзины 1.код...

2
 Аватар для ilnurgi
141 / 141 / 38
Регистрация: 20.02.2012
Сообщений: 597
20.06.2016, 11:15
1. чистит
2. субд работают по разному
2.1. в склайт создал запись, у него идентифкатор = 1, удалил и создал новый, у нового тоже будет 1
2.2 в постгресе же создал записбь, идентификатор =1, удалил и создал новый, идентификатор = 2.

нельзя в тестах привязываться к таким вещам
1
145 / 113 / 31
Регистрация: 12.06.2011
Сообщений: 1,246
20.06.2016, 13:23  [ТС]
Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.06.2016, 13:23
Помогаю со студенческими работами здесь

Нужна помощь с тестированием диодов :)
Здравствуйте! При проверке диодов мультиметром (в режиме проверки диодов) оказывается, что прямое падение напряжения (540 мВ) не сильно...

Рейтинг антитроянских программ с тестированием
Помогите, пожалуйста, облазила весь интернет.. ничего не могу найти, очень надо..

Ошибка тестированием проекта Unity
В ходе моего обучения появилась проблема. При нажатии кнопки запустить игра запускается, но по кадрам, следующий кадр запускается при...

Запутался при проектировании класса
Всем привет Если опустить всё лишнее: Есть класс Texture со следующими полями: class Texture { unsigned int id; ...

Запутался при составлении запроса(подзапроса)
Требуется определить временные интервалы, в рамках которых опубликованы книги разных типов. TITLES title_id Идентификатор книги ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru