|
@@ -6,6 +6,7 @@ from pathlib import Path
|
|
|
|
|
|
import pytest
|
|
|
|
|
|
+import reflex.app
|
|
|
from reflex.config import environment
|
|
|
from reflex.testing import AppHarness, AppHarnessProd
|
|
|
|
|
@@ -76,3 +77,25 @@ def app_harness_env(request):
|
|
|
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()
|