From: Rishat-F <66554797+Rishat-F@users.noreply.github.com> Date: Mon, 27 Jan 2025 15:36:13 +0000 (+0300) Subject: 🌐 Add Russian translation for `docs/ru/docs/advanced/async-tests.md` (#13227) X-Git-Tag: 0.115.8~30 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=24eb8eeeba23d93288ef40596d621f149e648e10;p=thirdparty%2Ffastapi%2Ffastapi.git 🌐 Add Russian translation for `docs/ru/docs/advanced/async-tests.md` (#13227) --- diff --git a/docs/ru/docs/advanced/async-tests.md b/docs/ru/docs/advanced/async-tests.md new file mode 100644 index 0000000000..7849ad1090 --- /dev/null +++ b/docs/ru/docs/advanced/async-tests.md @@ -0,0 +1,99 @@ +# ÐÑÐ¸Ð½Ñ Ñонное ÑеÑÑиÑование + +ÐÑ Ñже видели как ÑеÑÑиÑоваÑÑ **FastAPI** пÑиложение, иÑполÑзÑÑ Ð¸Ð¼ÐµÑÑийÑÑ ÐºÐ»Ð°ÑÑ `TestClient`. Ð ÑÑÐ¾Ð¼Ñ Ð¼Ð¾Ð¼ÐµÐ½ÑÑ Ð²Ñ Ð²Ð¸Ð´ÐµÐ»Ð¸ ÑолÑко как пиÑаÑÑ ÑеÑÑÑ Ð² ÑÐ¸Ð½Ñ Ñонном ÑÑиле без иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ `async` ÑÑнкÑий. + +ÐозможноÑÑÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð°ÑÐ¸Ð½Ñ ÑоннÑÑ ÑÑнкÑий в ваÑÐ¸Ñ ÑеÑÑÐ°Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½a, когда, напÑимеÑ, Ð²Ñ Ð°ÑÐ¸Ð½Ñ Ñонно обÑаÑаеÑеÑÑ Ðº ваÑей базе даннÑÑ . ÐÑедÑÑавÑÑе, ÑÑо Ð²Ñ Ñ Ð¾ÑиÑе оÑпÑавиÑÑ Ð·Ð°Ð¿ÑоÑÑ Ð² ваÑе FastAPI пÑиложение, а заÑем пÑи помоÑи аÑÐ¸Ð½Ñ Ñонной библиоÑеки Ð´Ð»Ñ ÑабоÑÑ Ñ Ð±Ð°Ð·Ð¾Ð¹ даннÑÑ ÑдоÑÑовеÑиÑÑÑÑ, ÑÑо Ð²Ð°Ñ Ð±ÐµÐºÑнд коÑÑекÑно запиÑал даннÑе в Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ . + +ÐавайÑе ÑаÑÑмоÑÑим, как Ð¼Ñ Ð¼Ð¾Ð¶ÐµÐ¼ ÑÑо ÑеализоваÑÑ. + +## pytest.mark.anyio + +ÐÑли Ð¼Ñ Ñ Ð¾Ñим вÑзÑваÑÑ Ð°ÑÐ¸Ð½Ñ ÑоннÑе ÑÑнкÑии в наÑÐ¸Ñ ÑеÑÑÐ°Ñ , Ñо наÑи ÑеÑÑовÑе ÑÑнкÑии Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð°ÑÐ¸Ð½Ñ ÑоннÑми. AnyIO пÑедоÑÑавлÑÐµÑ Ð´Ð»Ñ ÑÑого оÑлиÑнÑй плагин, коÑоÑÑй позволÑÐµÑ Ð½Ð°Ð¼ ÑказÑваÑÑ, какие ÑеÑÑовÑе ÑÑнкÑии Ð´Ð¾Ð»Ð¶Ð½Ñ Ð²ÑзÑваÑÑÑÑ Ð°ÑÐ¸Ð½Ñ Ñонно. + +## HTTPX + +Ðаже еÑли **FastAPI** пÑиложение иÑполÑзÑÐµÑ Ð¾Ð±ÑÑнÑе ÑÑнкÑии `def` вмеÑÑо `async def`, ÑÑо вÑе Ñавно `async` пÑиложение 'под капоÑом'. + +ЧÑÐ¾Ð±Ñ ÑабоÑаÑÑ Ñ Ð°ÑÐ¸Ð½Ñ ÑоннÑм FastAPI пÑиложением в ваÑÐ¸Ñ Ð¾Ð±ÑÑнÑÑ ÑеÑÑовÑÑ ÑÑнкÑиÑÑ `def`, иÑполÑзÑÑ ÑÑандаÑÑнÑй pytest, `TestClient` внÑÑÑи ÑÐµÐ±Ñ Ð´ÐµÐ»Ð°ÐµÑ Ð½ÐµÐºÐ¾ÑоÑÑÑ Ð¼Ð°Ð³Ð¸Ñ. Ðо ÑÑа Ð¼Ð°Ð³Ð¸Ñ Ð¿ÐµÑеÑÑÐ°ÐµÑ ÑабоÑаÑÑ, когда Ð¼Ñ Ð¸ÑполÑзÑем его внÑÑÑи аÑÐ¸Ð½Ñ ÑоннÑÑ ÑÑнкÑий. ÐапÑÑÐºÐ°Ñ Ð½Ð°Ñи ÑеÑÑÑ Ð°ÑÐ¸Ð½Ñ Ñонно, Ð¼Ñ Ð±Ð¾Ð»ÑÑе не можем иÑполÑзоваÑÑ `TestClient` внÑÑÑи наÑÐ¸Ñ ÑеÑÑовÑÑ ÑÑнкÑий. + +`TestClient` оÑнован на HTTPX, и, к ÑÑаÑÑÑÑ, Ð¼Ñ Ð¼Ð¾Ð¶ÐµÐ¼ иÑполÑзоваÑÑ ÐµÐ³Ð¾ (`HTTPX`) напÑÑмÑÑ Ð´Ð»Ñ ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ API. + +## ÐÑÐ¸Ð¼ÐµÑ + +РкаÑеÑÑве пÑоÑÑого пÑимеÑа, давайÑе ÑаÑÑмоÑÑим ÑайловÑÑ ÑÑÑÑкÑÑÑÑ, ÑÑ Ð¾Ð¶ÑÑ Ñ Ð¾Ð¿Ð¸Ñанной в [ÐолÑÑие пÑиложениÑ](../tutorial/bigger-applications.md){.internal-link target=_blank} и [ТеÑÑиÑование](../tutorial/testing.md){.internal-link target=_blank}: + +``` +. +âââ app +â  âââ __init__.py +â  âââ main.py +â  âââ test_main.py +``` + +Файл `main.py`: + +{* ../../docs_src/async_tests/main.py *} + +Файл `test_main.py` ÑодеÑÐ¶Ð¸Ñ ÑеÑÑÑ Ð´Ð»Ñ `main.py`, ÑепеÑÑ Ð¾Ð½ Ð¼Ð¾Ð¶ÐµÑ Ð²ÑглÑдеÑÑ Ñак: + +{* ../../docs_src/async_tests/test_main.py *} + +## ÐапÑÑк ÑеÑÑов + +ÐÑ Ð¼Ð¾Ð¶ÐµÑе запÑÑÑиÑÑ Ñвои ÑеÑÑÑ ÐºÐ°Ðº обÑÑно: + +