Я настроил бэкэнд API с помощью FastAPI. Бэкэнд -тестирование уже было сделано. Но я не знаю, как правильно проверить фронт, который является USIGN API. Потому что я хочу хотя бы один тест, который выполняется с помощью реального запроса API. Единственная проблема заключается в том, что в моем бэкэнд используется база данных, и я не нашел разумного способа заменить это соединение базы данных на поддельное соединение с базой данных, чтобы он не случайно не оставался активным в производстве из -за какой -то ошибки.
В настоящее время я использую Jest , но с тех пор я еще не сдал никаких тестов, вы также можете рекомендовать другие.export default async function createTodoAPI(name, description, accessToken) {
const response = await fetch(`${import.meta.env.VITE_API_URL}/todo/create`, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${accessToken}`
},
body: JSON.stringify({name: name, description: description})
});
if (!response.ok) {
data = await response.json();
throw new Error(data.detail || "Creation failed: An unexpected error is occurred.");
};
}
< /code>
Что я попробовал, но каким -то образом чувствует себя некомфортно, используя: < /p>
import os
import sys
import logging
logger = logging.getLogger(__name__)
TEST_MODE: bool = os.getenv("TEST_MODE", "false").lower() == "true"
PRODUCTION: bool = os.getenv("IS_PRODUCTION", "false").lower() == "true"
# Defines the database url
if TEST_MODE and PRODUCTION:
logger.error("\nTEST MODE COULD NOT BE ACTIVATED WHILE THE PRODUCTION IS ACTIVATED TOO.")
sys.exit(1)
elif TEST_MODE:
DB_URL = "sqlite+aiosqlite:///:memory:"
logger.warning("\n\nTEST MODE IS ACTIVATED: Using in-memory database.\n\n")
else:
DB_URL = os.getenv("DATABASE_URL")
Подробнее здесь: https://stackoverflow.com/questions/797 ... -correctly
Как правильно обработать запрос API E2E в бэкэнде? ⇐ Javascript
Форум по Javascript
-
Anonymous
1754958081
Anonymous
Я настроил бэкэнд API с помощью FastAPI. Бэкэнд -тестирование уже было сделано. Но я не знаю, как правильно проверить фронт, который является USIGN API. Потому что я хочу хотя бы один тест, который выполняется с помощью реального запроса API. Единственная проблема заключается в том, что в моем бэкэнд используется база данных, и я не нашел разумного способа заменить это соединение базы данных на поддельное соединение с базой данных, чтобы он не случайно не оставался активным в производстве из -за какой -то ошибки.
В настоящее время я использую [b] Jest [/b], но с тех пор я еще не сдал никаких тестов, вы также можете рекомендовать другие.export default async function createTodoAPI(name, description, accessToken) {
const response = await fetch(`${import.meta.env.VITE_API_URL}/todo/create`, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${accessToken}`
},
body: JSON.stringify({name: name, description: description})
});
if (!response.ok) {
data = await response.json();
throw new Error(data.detail || "Creation failed: An unexpected error is occurred.");
};
}
< /code>
Что я попробовал, но каким -то образом чувствует себя некомфортно, используя: < /p>
import os
import sys
import logging
logger = logging.getLogger(__name__)
TEST_MODE: bool = os.getenv("TEST_MODE", "false").lower() == "true"
PRODUCTION: bool = os.getenv("IS_PRODUCTION", "false").lower() == "true"
# Defines the database url
if TEST_MODE and PRODUCTION:
logger.error("\nTEST MODE COULD NOT BE ACTIVATED WHILE THE PRODUCTION IS ACTIVATED TOO.")
sys.exit(1)
elif TEST_MODE:
DB_URL = "sqlite+aiosqlite:///:memory:"
logger.warning("\n\nTEST MODE IS ACTIVATED: Using in-memory database.\n\n")
else:
DB_URL = os.getenv("DATABASE_URL")
Подробнее здесь: [url]https://stackoverflow.com/questions/79732597/how-to-handle-e2e-api-request-in-backend-correctly[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия