Couple of points: - Did you install pytest-django? That should help the settings thing. - There's a default 1-second timeout on get_response; pass timeout=4 to it and you should see that error go away.
We have a default timeout because otherwise we can't tell if an async app has died/crashed and it'd hang forever! Andrew On Mon, Nov 12, 2018 at 3:43 PM Zhiyu (Drew) Li <[email protected]> wrote: > Hi there, > > I was trying to write a test for a consumer. It is just a very simply > AsyncHttpConsumer subclass that awaits on asyncio.sleep(3) and returns a > "OK" in plain text. > > The test case is: > @pytest.mark.asyncio > async def test_my_consumer(): > communicator = HttpCommunicator(BasicHttpConsumer, "GET", "asynchttp") > response = await communicator.get_response() > assert response["status"] == 200 > assert response["body"] == b"OK" > > 1) Error 1: > I run it with command "pytest xxxx.py" > The first error I got was: > django.core.exceptions.ImproperlyConfigured: Requested settings, but > settings are not configured. You must either define the environment > variable DJANGO_SETTINGS_MODULE or call settings.configure() before > accessing settings. > > I google online and found this fix: > os.environ.setdefault("DJANGO_SETTINGS_MODULE", "MODULE_PATH_TO.settings") > > > 2) Error 2: > The new error I am getting is: > self = <async_timeout.timeout object at 0x7fe427eca470>, exc_type = <class > 'concurrent.futures._base.CancelledError'> > > def _do_exit(self, exc_type: Type[BaseException]) -> None: > if exc_type is asyncio.CancelledError and self._cancelled: > self._cancel_handler = None > self._task = None > > raise asyncio.TimeoutError > E concurrent.futures._base.TimeoutError > > But If I change async.sleep(3) to async.sleep(0) the test passed. Not > sure why > > Also how to test url mapping works correctly? > > Thanks > Drew > > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at https://groups.google.com/group/django-users. > To view this discussion on the web visit > https://groups.google.com/d/msgid/django-users/CAMmsbUk-3AemjcTxxidf4GBvKeWG7b72qwfUcs5owReTeOEMiw%40mail.gmail.com > <https://groups.google.com/d/msgid/django-users/CAMmsbUk-3AemjcTxxidf4GBvKeWG7b72qwfUcs5owReTeOEMiw%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAFwN1uq02V6p53P84z0kJo13jrVWDtAr7_qoZ69L1cntQXww6w%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.

