Size: a a a

2021 November 23

A

Andrey in Python
слушайте, на сколько нормально так писать? Немного сомневаюсь

@patch('psycopg2.connect')
def test_bar(self, connect_mock):
   cursor_ctx_mock = connect_mock.cursor.return_value.__enter__.return_value
   cursor_ctx_mock.fetchone.return_value = foo
источник

A

Andrey in Python
но работает как надо
источник

МС

Максим Скуйбида... in Python
Тоесть "слой, где я получаю доступ к бд" это все запросы?
источник

AK

Alex Kalinin in Python
скорее всего нет
источник

T

Tishka17 in Python
Если никто не делает from psycopg2 import connect, то работает.
источник

T

Tishka17 in Python
Нет.
источник

T

Tishka17 in Python
Запросы уже работают с соединением обычно. Чтобы в одной транзакции можно было из комбинировать
источник

A

Andrey in Python
Так, а если кто-то сделет?
источник

T

Tishka17 in Python
Старайся избегать патчей
источник

A

Andrey in Python
а как тест писать тогда?
источник

AK

Alex Kalinin in Python
в твоей орм должен быть какой-то бекенд (который реализует паттерн адаптер) к конкретному клиенту для работы с БД
источник

T

Tishka17 in Python
Это годится на крайний случай, но лучше тестировать с явной передачей коннекта
источник

A

Andrey in Python
а блин
источник

МС

Максим Скуйбида... in Python
Транзакцией правильно называть обработку одного апдейта? Или что то поменьше?
источник

T

Tishka17 in Python
Ты там что тестируешь вообще? Генератор запросов к БД?
источник

A

Andrey in Python
я так и делаю же
источник

A

Andrey in Python
патчить не надо тут....
Можно мок просунуть
источник

T

Tishka17 in Python
Транзакцией надо называть набор действий которые должны быть выполнены все или ни одно
источник

T

Tishka17 in Python
Ну да, явно просунь мок
источник

МС

Максим Скуйбида... in Python
Это sqlalchmey. Но проблема в том, что просто заменить на асинхронный бэкенд не получится, потому что асинхронная алхимия не поддерживает старый стиль написания запросов
источник