12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- """Shared conftest for all integration tests."""
- import pytest
- import reflex.app
- from reflex.testing import AppHarness, AppHarnessProd
- @pytest.fixture(
- scope="session", params=[AppHarness, AppHarnessProd], ids=["dev", "prod"]
- )
- def app_harness_env(request):
- """Parametrize the AppHarness class to use for the test, either dev or prod.
- Args:
- request: The pytest fixture request object.
- Returns:
- The AppHarness class to use for the test.
- """
- return request.param
- @pytest.fixture(autouse=True)
- def raise_console_error(request, mocker):
- """Spy on calls to `console.error` used by the framework.
- Help catch spurious error conditions that might otherwise go unnoticed.
- If a test is marked with `ignore_console_error`, the spy will be ignored
- after the test.
- Args:
- request: The pytest request object.
- mocker: The pytest mocker object.
- Yields:
- control to the test function.
- """
- spy = mocker.spy(reflex.app.console, "error")
- yield
- if "ignore_console_error" not in request.keywords:
- spy.assert_not_called()
|