./www/py-test-django, Django plugin for pytest

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 4.9.0, Package name: py312-test-django-4.9.0, Maintainer: pkgsrc-users

pytest-django allows you to test your Django project/applications with the
pytest testing tool.

Running your test suite with pytest-django allows you to tap into the features
that are already present in pytest. Here are some advantages:
* Manage test dependencies with pytest fixtures.
* Less boilerplate tests: no need to import unittest, create a subclass with
methods. Write tests as regular functions.
* Database re-use: no need to re-create the test database for every test run.
* Run tests in multiple processes for increased speed (with the pytest-xdist
plugin).
* Make use of other pytest plugins.
* Works with both worlds: Existing unittest-style TestCase's still work
without any modifications.


Required to run:
[devel/py-setuptools] [devel/py-test] [lang/python37]

Required to build:
[pkgtools/cwrappers] [devel/py-setuptools_scm]

Master sites:

Filesize: 82.097 KB

Version history: (Expand)


CVS history: (Expand)


   2024-11-11 08:29:31 by Thomas Klausner | Files touched by this commit (862)
Log message:
py-*: remove unused tool dependency

py-setuptools includes the py-wheel functionality nowadays
   2024-09-04 11:33:57 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-test-django: updated to 4.9.0

v4.9.0 (2024-09-02)

Compatibility

* Added official support for Django 5.1.
* Dropped support for Django 3.2 and 4.1.

Improvements

* Respect the ``string_if_invalid`` template setting when
  ``--fail-on-template-vars`` is active and
  :func:`@pytest.mark.ignore_template_errors \ 
<pytest.mark.ignore_template_errors>`
  is used.

* Avoid running database migrations for :class:`~django.test.SimpleTestCase`
  unittest tests.

* Added docstrings to public fixtures.

Bugfixes

* Fix type hints for ``pytest_django.asserts.assertFormError()`` and
  ``pytest_django.asserts.assertForSetError()``.
   2024-02-02 17:09:01 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-test-django: updated to 4.8.0

v4.8.0 (2024-01-30)

Improvements

* Add `pytest.asserts.assertMessages()` to mimic the behaviour of the
  ``django.contrib.messages.test.MessagesTestMixin.assertMessages`` function
  for Django versions >= 5.0.

Bugfixes

* Fix `--help`/`--version` crash in a partially configured app.
   2023-11-09 07:54:18 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-test-django: updated to 4.7.0

v4.7.0 (2023-11-08)
-------------------

Compatibility

* Official Django 5.0 support.

* Official Python 3.12 support.

Improvements

* The Django test tags from the previous release now works on any
  :class:`~django.test.SimpleTestCase` (i.e. any Django test framework test
  class), not just :class:`~django.test.TransactionTestCase` classes.

* Some improvements for those of us who like to type their tests:

  - Add ``pytest_django.DjangoAssertNumQueries`` for typing
    :fixture:`django_assert_num_queries` and
    :fixture:`django_assert_max_num_queries`.

  - Add ``pytest_django.DjangoCaptureOnCommitCallbacks`` for typing
    :fixture:`django_capture_on_commit_callbacks`.

  - Add ``pytest_django.DjangoDbBlocker`` for typing
    :fixture:`django_db_blocker`.
   2023-11-03 09:21:59 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-test-django: updated to 4.6.0

v4.6.0 (2023-10-30)
-------------------

Compatibility

* Official Django 4.1 & 4.2 support.

* Official Python 3.11 support.

* Drop support for Python version 3.5, 3.6 & 3.7.

* Drop official support for Django 4.0.

* Drop support for pytest < 7.

Improvements

* Add support for setting :py:attr:`available_apps
  <django.test.TransactionTestCase.available_apps>` in the :func:`django_db
  <pytest.mark.django_db>` marker.

* Convert Django :ref:`test tags <django:topics-tagging-tests>` to :ref:`Pytest
  markers <pytest:mark examples>`.

* Show Django's version in the pytest ``django`` report header.

* Add precise ``pytest_django.asserts.assertQuerySetEqual`` typing.

Bugfixes

* Fix bug where the effect of :func:`@pytest.mark.ignore_template_errors
  <pytest.mark.ignore_template_errors>` was not reset when using
  ``--fail-on-template-vars``.
   2023-09-06 22:17:50 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-test-django: updated to 4.5.2

v4.5.2 (2021-12-07)
-------------------

Bugfixes

* Fix regression in v4.5.0 - ``pytest.mark.django_db(reset_sequence=True)`` now
  implies ``transaction=True`` again.

v4.5.1 (2021-12-02)
-------------------

Bugfixes

* Fix regression in v4.5.0 - database tests inside (non-unittest) classes were
  not ordered correctly to run before non-database tests, same for transactional
  tests before non-transactional tests.

v4.5.0 (2021-12-01)
-------------------

Improvements

* Add support for :ref:`rollback emulation/serialized rollback
  <test-case-serialized-rollback>`. The :func:`pytest.mark.django_db` marker
  has a new ``serialized_rollback`` option, and a
  :fixture:`django_db_serialized_rollback` fixture is added.

* Official Python 3.10 support.

* Official Django 4.0 support (tested against 4.0rc1 at the time of release).

* Drop official Django 3.0 support. Django 2.2 is still supported, and 3.0
  will likely keep working until 2.2 is dropped, but it's not tested.

* Added pyproject.toml file.

* Skip Django's `setUpTestData` mechanism in pytest-django tests. It is not
  used for those, and interferes with some planned features. Note that this
  does not affect ``setUpTestData`` in unittest tests (test classes which
  inherit from Django's `TestCase`).

Bugfixes

* Fix :fixture:`live_server` when using an in-memory SQLite database.

* Fix typing of ``assertTemplateUsed`` and ``assertTemplateNotUsed``.

v4.4.0 (2021-06-06)
-------------------

Improvements

* Add a fixture :fixture:`django_capture_on_commit_callbacks` to capture
  :func:`transaction.on_commit() <django.db.transaction.on_commit>` callbacks
  in tests.

v4.3.0 (2021-05-15)
-------------------

Improvements

* Add experimental :ref:`multiple databases <multi-db>` (multi db) support.

* Add type annotations. If you previously excluded ``pytest_django`` from
  your type-checker, you can remove the exclusion.

* Documentation improvements.

v4.2.0 (2021-04-10)
-------------------

Improvements

* Official Django 3.2 support.

* Documentation improvements.

Bugfixes

* Disable atomic durability check on non-transactional tests

v4.1.0 (2020-10-22)
-------------------

Improvements

* Add the :fixture:`async_client` and :fixture:`async_rf` fixtures

* Add :ref:`django_debug_mode <usage>` to configure how ``DEBUG`` is set \ 
in tests

* Documentation improvements.

Bugfixes

* Make :fixture:`admin_user` work for custom user models without an ``email`` field.

v4.0.0 (2020-10-16)
-------------------

Compatibility

This release contains no breaking changes, except dropping compatibility
with some older/unsupported versions.

* Drop support for Python versions before 3.5

  Previously 2.7 and 3.4 were supported. Running ``pip install pytest-django``
  on Python 2.7 or 3.4 would continue to install the compatible 3.x series.

* Drop support for Django versions before 2.2

  Previously Django>=1.8 was supported.

* Drop support for pytest versions before 5.4

  Previously pytest>=3.6 was supported.

Improvements

* Officially support Python 3.9.

* Add ``pytest_django.__version__``

* Minor documentation improvements

Bugfixes

* Make the ``admin_user`` and ``admin_client`` fixtures compatible with custom
  user models which don't have a ``username`` field

* Change the ``admin_user`` fixture to use ``get_by_natural_key()`` to get the
  user instead of directly using ``USERNAME_FIELD``, in case it is overridden,
  and to match Django

Misc

* Fix pytest-django's own tests failing due to some deprecation warnings
   2023-03-29 11:34:15 by Thomas Klausner | Files touched by this commit (96)
Log message:
*: use PYTHON_VERSION instead of _PYTHON_VERSION
   2022-01-13 20:31:25 by Thomas Klausner | Files touched by this commit (43)
Log message:
*: setuptools_scm: switch to versioned_dependencies