mirror of
https://github.com/django/django.git
synced 2025-07-24 05:36:15 +00:00
[5.1.x] Fixed #35666 -- Documented stacklevel usage and testing, and adjusted test suite accordingly.
Over the years we've had multiple instances of hit and misses when
emitting warnings: either setting the wrong stacklevel or not setting
it at all.
This work adds assertions for the existing warnings that were declaring
the correct stacklevel, but were lacking tests for it.
Backport of 57307bbc7d
from main.
This commit is contained in:
parent
dd58edcc37
commit
9a461cae3e
16 changed files with 84 additions and 39 deletions
|
@ -206,9 +206,10 @@ You should also add a test for the deprecation warning::
|
|||
|
||||
def test_foo_deprecation_warning(self):
|
||||
msg = "Expected deprecation message"
|
||||
with self.assertWarnsMessage(RemovedInDjangoXXWarning, msg):
|
||||
with self.assertWarnsMessage(RemovedInDjangoXXWarning, msg) as ctx:
|
||||
# invoke deprecated behavior
|
||||
...
|
||||
self.assertEqual(ctx.filename, __file__)
|
||||
|
||||
It's important to include a ``RemovedInDjangoXXWarning`` comment above code
|
||||
which has no warning reference, but will need to be changed or removed when the
|
||||
|
@ -230,6 +231,7 @@ deprecation ends. For example::
|
|||
warnings.warn(
|
||||
"foo() is deprecated.",
|
||||
category=RemovedInDjangoXXWarning,
|
||||
stacklevel=2,
|
||||
)
|
||||
old_private_helper()
|
||||
...
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue