Skip to main content

integration testing on steroids

Project description

Fixtup

version ci MIT

Fixtup manages environments & data for your tests

Do you have already given up on writing integration tests ?

  • it would have been too complicated to mount several containers to run these tests
  • it would have been necessary to write too much boilerplate to run these tests in a CI
  • it would have taken another developer too many steps to run these tests
  • it would have been difficult to debug them individually in an IDE

With Fixtup, write clear, robust and easy-to-execute integration tests with your favorite test framwork like pytest, unittest or event BDD framework as robot framework or behave.

  • it starts the services needed to run your test
  • it throws the longest fixtures only once whether you play a test or 100
  • it cleans files and data between each test
  • it runs on a developer's workstation without configuration

Benefits

  • You can get up and running with Fixtup in minutes, even on legacy project, no matter what your test framework is.
  • You will stop wasting your time on boilerplate code
  • Fixtup provides an easy way to run tests in debug in your favorite IDE like pycharm and vscode.
  • Fixtup is cross-platform which makes it easy to use it on Linux, Mac and Windows.

Getting started

Take 10 minutes to get all the key to start with fixtup in Getting started.

pip install fixtup

Here is an example that shows how fixtup makes it easier to test a function that generate a thumbnail.

def test_thumbnail_should_generate_thumbnail(self):

    # Magic happens with the instruction fixtup.up
    with fixtup.up('thumbnail_context') as f:
        # Given
        wd = os.getcwd()
        original_file = os.directory.join(wd, 'file.png')
        expected_thumbnail_file = os.directory.join(wd, 'file_t.png')

        # Then
        thumbnail(original_file, expected_thumbnail_file)

        # Then
        self.assertTrue(os.directory.isfile(expected_thumbnail_file)

The complete example is available in the repo

Contributing

More information into CONTRIBUTING.md

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

fixtup-0.1.0.tar.gz (28.5 kB view details)

Uploaded Source

Built Distribution

fixtup-0.1.0-py3-none-any.whl (43.0 kB view details)

Uploaded Python 3

File details

Details for the file fixtup-0.1.0.tar.gz.

File metadata

  • Download URL: fixtup-0.1.0.tar.gz
  • Upload date:
  • Size: 28.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.13

File hashes

Hashes for fixtup-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4d7a10bb664c7b3a0b41fe10a1b37b117ddaa89388d79ed5f65d3feeeee8fa09
MD5 c6c8ae9bc44ab8dad32e22b669d34aeb
BLAKE2b-256 34f1096dbb6c68d9ffb2d3ffdde0ae0f192526d564f8c9812076e529bc226f35

See more details on using hashes here.

File details

Details for the file fixtup-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: fixtup-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 43.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.13

File hashes

Hashes for fixtup-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1e0668044ed22806e28fca0df91a1ce19ab5fdc3027953187130c27fe45f1250
MD5 df6bc5cc15bfe9605d9b7df596d37eaa
BLAKE2b-256 68ae6d54d3b13cc278eb6507023fe5248f38f0f773c1c84df381d3527463c12b

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