Skip to content

Commit

Permalink
📝 Docs: 添加 pytest-asyncio 配置 (#3136)
Browse files Browse the repository at this point in the history
  • Loading branch information
yanyongyu authored Nov 23, 2024
1 parent 980affd commit 232b713
Show file tree
Hide file tree
Showing 5 changed files with 35 additions and 0 deletions.
7 changes: 7 additions & 0 deletions website/docs/best-practice/testing/README.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -89,9 +89,16 @@ asyncio_default_fixture_loop_scope = "session"
```python title=tests/conftest.py
import pytest
import nonebot
from pytest_asyncio import is_async_test
# 导入适配器
from nonebot.adapters.console import Adapter as ConsoleAdapter

def pytest_collection_modifyitems(items: list[pytest.Item]):
pytest_asyncio_tests = (item for item in items if is_async_test(item))
session_scope_marker = pytest.mark.asyncio(loop_scope="session")
for async_test in pytest_asyncio_tests:
async_test.add_marker(session_scope_marker, append=False)

@pytest.fixture(scope="session", autouse=True)
async def after_nonebot_init(after_nonebot_init: None):
# 加载适配器
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,9 +89,16 @@ asyncio_default_fixture_loop_scope = "session"
```python title=tests/conftest.py
import pytest
import nonebot
from pytest_asyncio import is_async_test
# 导入适配器
from nonebot.adapters.console import Adapter as ConsoleAdapter

def pytest_collection_modifyitems(items: list[pytest.Item]):
pytest_asyncio_tests = (item for item in items if is_async_test(item))
session_scope_marker = pytest.mark.asyncio(loop_scope="session")
for async_test in pytest_asyncio_tests:
async_test.add_marker(session_scope_marker, append=False)

@pytest.fixture(scope="session", autouse=True)
async def after_nonebot_init(after_nonebot_init: None):
# 加载适配器
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,9 +89,16 @@ asyncio_default_fixture_loop_scope = "session"
```python title=tests/conftest.py
import pytest
import nonebot
from pytest_asyncio import is_async_test
# 导入适配器
from nonebot.adapters.console import Adapter as ConsoleAdapter

def pytest_collection_modifyitems(items: list[pytest.Item]):
pytest_asyncio_tests = (item for item in items if is_async_test(item))
session_scope_marker = pytest.mark.asyncio(loop_scope="session")
for async_test in pytest_asyncio_tests:
async_test.add_marker(session_scope_marker, append=False)

@pytest.fixture(scope="session", autouse=True)
async def after_nonebot_init(after_nonebot_init: None):
# 加载适配器
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,9 +89,16 @@ asyncio_default_fixture_loop_scope = "session"
```python title=tests/conftest.py
import pytest
import nonebot
from pytest_asyncio import is_async_test
# 导入适配器
from nonebot.adapters.console import Adapter as ConsoleAdapter

def pytest_collection_modifyitems(items: list[pytest.Item]):
pytest_asyncio_tests = (item for item in items if is_async_test(item))
session_scope_marker = pytest.mark.asyncio(loop_scope="session")
for async_test in pytest_asyncio_tests:
async_test.add_marker(session_scope_marker, append=False)

@pytest.fixture(scope="session", autouse=True)
async def after_nonebot_init(after_nonebot_init: None):
# 加载适配器
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,9 +89,16 @@ asyncio_default_fixture_loop_scope = "session"
```python title=tests/conftest.py
import pytest
import nonebot
from pytest_asyncio import is_async_test
# 导入适配器
from nonebot.adapters.console import Adapter as ConsoleAdapter

def pytest_collection_modifyitems(items: list[pytest.Item]):
pytest_asyncio_tests = (item for item in items if is_async_test(item))
session_scope_marker = pytest.mark.asyncio(loop_scope="session")
for async_test in pytest_asyncio_tests:
async_test.add_marker(session_scope_marker, append=False)

@pytest.fixture(scope="session", autouse=True)
async def after_nonebot_init(after_nonebot_init: None):
# 加载适配器
Expand Down

0 comments on commit 232b713

Please sign in to comment.