#32409: TestCase async tests are not transaction-aware
-------------------------------------+-------------------------------------
     Reporter:  David                |                    Owner:  KangDo96
         Type:  New feature          |                   Status:  assigned
    Component:  Testing framework    |                  Version:  3.1
     Severity:  Normal               |               Resolution:
     Keywords:  TestCase, async,     |             Triage Stage:  Accepted
  transaction                        |
    Has patch:  0                    |      Needs documentation:  0
  Needs tests:  0                    |  Patch needs improvement:  0
Easy pickings:  0                    |                    UI/UX:  0
-------------------------------------+-------------------------------------

Comment (by Aleksi Hoffman):

 I'm faced with a similar {{{OperationalError}}} whilst testing an async
 middleware using {{{TestCase}}}.

 The db accessing method in the middleware is decorated with {{{
 @database_sync_to_async }}} from Channels. Package versions are
 {{{django==3.2.8}}} {{{channels==3.0.4}}}, {{{ asgiref==3.4.1 }}} and
 {{{pytest==6.2.5}}}.

 Decorating the async test case with both {{{@pytest.mark.asyncio}}} and
 {{{@async_to_sync}}} seems to make the problem go away.

-- 
Ticket URL: <https://code.djangoproject.com/ticket/32409#comment:19>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/064.8cfe50e43a6f3eb1838e6a338a675e99%40djangoproject.com.

Reply via email to