toga/core/tests/conftest.py
2024-04-30 11:19:37 +08:00

37 lines
859 B
Python

import sys
import pytest
import toga
from toga_dummy.utils import EventLog
@pytest.fixture(autouse=True)
def reset_event_log():
EventLog.reset()
@pytest.fixture(autouse=True)
def clear_sys_modules(monkeypatch):
try:
# App startup is influenced by things like the state of sys.modules, and the
# presence of __main__ in particular. Pytest doesn't need __main__ to work;
# so if it exists, delete it for the purposes of each test.
monkeypatch.delitem(sys.modules, "__main__")
except KeyError:
pass
class TestApp(toga.App):
pass
@pytest.fixture
def app(event_loop):
# The app icon is cached; purge the app icon cache if it exists
try:
del toga.Icon.__APP_ICON
except AttributeError:
pass
return TestApp(formal_name="Test App", app_id="org.beeware.toga.test-app")