Skip to main content

No project description provided

Project description

expecttest PyPI version

This library implements expect tests (also known as "golden" tests). Expect tests are a method of writing tests where instead of hard-coding the expected output of a test, you instead run the test to get the output, and the test framework automatically populates the expected output. If the output of the test changes, you can rerun the test with EXPECTTEST_ACCEPT=1 environment variable to automatically update the expected output.

Somewhat unusually, this file implements inline expect tests: that is to say, the expected output isn't save to an external file, it is saved directly in the Python file (and we modify your Python the file when updating the expect test.)

The general recipe for how to use this is as follows:

  1. Write your test and use assertExpectedInline() instead of a normal assertEqual. Leave the expected argument blank with an empty string:

    self.assertExpectedInline(some_func(), "")
    
  2. Run your test. It should fail, and you get an error message about accepting the output with EXPECTTEST_ACCEPT=1

  3. Rerun the test with EXPECTTEST_ACCEPT=1. Now the previously blank string literal will now contain the expected value of the test.

    self.assertExpectedInline(some_func(), "my_value")
    

Some tips and tricks:

  • Often, you will want to expect test on a multiline string. This framework understands triple-quoted strings, so you can just write """my_value""" and it will turn into triple-quoted strings.

  • Take some time thinking about how exactly you want to design the output format of the expect test. It is often profitable to design an output representation specifically for expect tests.

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

expecttest-0.1.1.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

expecttest-0.1.1-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file expecttest-0.1.1.tar.gz.

File metadata

  • Download URL: expecttest-0.1.1.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.8.5 Darwin/20.5.0

File hashes

Hashes for expecttest-0.1.1.tar.gz
Algorithm Hash digest
SHA256 57d711e4137c108d2a014414e94c371d320b8263c5b4f092897a6a5e82fa7556
MD5 5d6a607891aed078b4e3d6d05da3bd9d
BLAKE2b-256 25136d3591ccaf406e6867e2f22cadce614703cbc3f7c88aae358b2df1423a10

See more details on using hashes here.

Provenance

File details

Details for the file expecttest-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: expecttest-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 6.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.8.5 Darwin/20.5.0

File hashes

Hashes for expecttest-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5126f9731e394b228867726eca558b2b0cca6d34d460c360a60391426d627289
MD5 c3a85335f243cffc88a93c015794c28c
BLAKE2b-256 c7bdde3f27df7f6902ff3177aca0025c1e8d4b8f1b64d5909c56850a9b316e69

See more details on using hashes here.

Provenance

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