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

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

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

Author24 — интернет-сервис помощи студентам
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
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.06.2016, 10:34
Ответы с готовыми решениями:

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

Проблема с тестированием WebClass ?
При попытке протестировать готовый проект в браузер посылается...

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

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

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

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

нельзя в тестах привязываться к таким вещам
1
145 / 113 / 31
Регистрация: 12.06.2011
Сообщений: 1,242
20.06.2016, 13:23  [ТС] 3
Спасибо.
0
20.06.2016, 13:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.06.2016, 13:23
Помогаю со студенческими работами здесь

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

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

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

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

Есть проблема с тестированием приложения, использующее Firebase. Как вы делаете?
Всем привет! Столкнулся с такой проблемой. Я пишу небольшое приложение в android studio, с...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru