Skip to main content

pytest plugin for writing tests for mypy plugins

Project description

mypy logo

pytest plugin for testing mypy types, stubs, and plugins

Build Status Checked with mypy Gitter

Installation

pip install pytest-mypy-plugins

Usage

Examples of a test case:

# typesafety/test_request.yml
-   case: request_object_has_user_of_type_auth_user_model
    disable_cache: true
    main: |
        from django.http.request import HttpRequest
        reveal_type(HttpRequest().user)  # N: Revealed type is 'myapp.models.MyUser'
        # check that other fields work ok
        reveal_type(HttpRequest().method)  # N: Revealed type is 'Union[builtins.str, None]'
    files:
        -   path: myapp/__init__.py
        -   path: myapp/models.py
            content: |
                from django.db import models
                class MyUser(models.Model):
                    pass

Running:

pytest

Options

mypy-tests:
  --mypy-testing-base=MYPY_TESTING_BASE
                        Base directory for tests to use
  --mypy-ini-file=MYPY_INI_FILE
                        Which .ini file to use as a default config for tests
  --mypy-same-process 
                        Now, to help with various issues in django-stubs, it runs every single test in the subprocess mypy call. 
                        Some debuggers cannot attach to subprocess, so enable this flag to make mypy check happen in the same process.
                        (Could cause cache issues)

Further reading

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pytest-mypy-plugins-1.2.1.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

pytest_mypy_plugins-1.2.1-py3-none-any.whl (12.5 kB view details)

Uploaded Python 3

File details

Details for the file pytest-mypy-plugins-1.2.1.tar.gz.

File metadata

  • Download URL: pytest-mypy-plugins-1.2.1.tar.gz
  • Upload date:
  • Size: 11.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.5

File hashes

Hashes for pytest-mypy-plugins-1.2.1.tar.gz
Algorithm Hash digest
SHA256 ba2527e0f1ebc0c149ebb800281cc32643ca849b76080fc6a0438ec344f71a8d
MD5 d126036ee74f23b65f143628fe01698a
BLAKE2b-256 a0c4e2b091b6a48d36b1fd67129c9b4abcecae9ecf3240d7ae7d8f1e728a9a09

See more details on using hashes here.

File details

Details for the file pytest_mypy_plugins-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: pytest_mypy_plugins-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 12.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.5

File hashes

Hashes for pytest_mypy_plugins-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 af9c040214fa14b1ee09eb03bd94bd4ef5602e92ef2c8eb325a51931bf69a5e0
MD5 77f235b11b6e903efd9f0f6e2abaedef
BLAKE2b-256 2bf145994ffd1698d2e81027333d8532ab57e8e03e65632a6ada81f8820b68d6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page