You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
When we add --no-monitor to the pytest.ini like so addopts = --no-monitor, pytest.raises, django_assert_num_queries and django_assert_max_num_queries (the latter two are provided by pytest-django) do not work anymore. They should be raising test failures.
To Reproduce
Steps to reproduce the behavior:
0. (install django, pytest, pytetst-monitor and pytest-django)
create a django project
create an app
create Book model in app
run tests below with --no-monitor => all tests pass
run tests below without --no-monitor => all tests fail
import pytest
from books.models import Book
def test_raise_exception():
with pytest.raises(Exception):
x = 1 / 1
def test_query_assertion(django_assert_num_queries, db):
with django_assert_num_queries(0):
print(Book.objects.all())
def test_max_queries_assertion(django_assert_max_num_queries, db):
with django_assert_max_num_queries(0):
print(Book.objects.all())
Expected behavior
The tests should fail, even though the --no-monitor flag was provided.
Desktop (please complete the following information):
OS: Ubuntu 22.04
Python version: 3.11
Pytest version: 8.2.0
pytest-monitor version: 1.6.6
Additional context
Please ask if I missed to provide necessary information!
The text was updated successfully, but these errors were encountered:
It happens due to a return statement in pytest-monitor.py where instead should be a raise. I'm currently fixing it and will post a pull request in a minute.
I had to refactor again and ran into some trouble with git (tried to reset an upstream branch I did the PR on) so I had to open a new PR.
If I just changed the line to raise the exception instead of returning it, the test runs ended in an endless loop when monitoring was turned on, so I kept the return statement instead and did the exception handling with the return value of wrapped_function() (line 216 in pytest_monitor.py) on the parent context (caller of wrapped_function() in the if branch).
Describe the bug
When we add
--no-monitor
to thepytest.ini
like soaddopts = --no-monitor
,pytest.raises
,django_assert_num_queries
anddjango_assert_max_num_queries
(the latter two are provided bypytest-django
) do not work anymore. They should be raising test failures.To Reproduce
Steps to reproduce the behavior:
0. (install django, pytest, pytetst-monitor and pytest-django)
--no-monitor
=> all tests pass--no-monitor
=> all tests failExpected behavior
The tests should fail, even though the
--no-monitor
flag was provided.Desktop (please complete the following information):
Additional context
Please ask if I missed to provide necessary information!
The text was updated successfully, but these errors were encountered: