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.3.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

expecttest-0.1.3-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: expecttest-0.1.3.tar.gz
  • Upload date:
  • Size: 6.5 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.3.tar.gz
Algorithm Hash digest
SHA256 83057695811d94128aed13ed094a070db90e0a92ea40071f8ee073cbab57149a
MD5 5130254008439d190f9de8ad0811f080
BLAKE2b-256 8ee6584ea2be6cf46a7f86991353c8c7de8321327a50c9a3e6cd120abc904c3f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: expecttest-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 6.5 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 34062450411d229f38eda76634bb01150f578a2eb3b991e79fb8547f40338888
MD5 cd4c0e81a101c57951b8178daa6601a9
BLAKE2b-256 f381b5ce301b7eef591e9ed817365beaa958fe241465aacc2e97c88a28b7ff71

See more details on using hashes here.

Supported by

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