diff options
| author | Simon Charette <charette.s@gmail.com> | 2018-11-23 21:22:09 -0500 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2020-05-15 20:22:52 +0200 |
| commit | 3cf80d3fcf7446afdde16a2be515c423f720e54d (patch) | |
| tree | f68aacd6e8f3dab3e250504d16bb1a51ed929bf4 /docs/releases | |
| parent | 1dd96f731df3ca9df0e3ff83a9a8e723dc7e8685 (diff) | |
Fixed #31395 -- Made setUpTestData enforce in-memory data isolation.
Since it's introduction in Django 1.8 setUpTestData has been suffering
from a documented but confusing caveat due to its sharing of attributes
assigned during its execution with all test instances.
By keeping track of class attributes assigned during the setUpTestData
phase its possible to ensure only deep copies are provided to test
instances on attribute retreival and prevent manual setUp gymnastic to
work around the previous lack of in-memory data isolation.
Thanks Adam Johnson for the extensive review.
Diffstat (limited to 'docs/releases')
| -rw-r--r-- | docs/releases/3.2.txt | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/docs/releases/3.2.txt b/docs/releases/3.2.txt index 4ba20c4c09..b1a0e19edb 100644 --- a/docs/releases/3.2.txt +++ b/docs/releases/3.2.txt @@ -195,7 +195,10 @@ Templates Tests ~~~~~ -* ... +* Objects assigned to class attributes in :meth:`.TestCase.setUpTestData` are + now isolated for each test method. Such objects are now required to support + creating deep copies with :py:func:`copy.deepcopy`. Assigning objects which + don't support ``deepcopy()`` is deprecated and will be removed in Django 4.1. URLs ~~~~ @@ -255,4 +258,6 @@ Features deprecated in 3.2 Miscellaneous ------------- -* ... +* Assigning objects which don't support creating deep copies with + :py:func:`copy.deepcopy` to class attributes in + :meth:`.TestCase.setUpTestData` is deprecated. |
