This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

A collection of test helpers to facilitate AAA testing.

Project Description

Test Helpers

The Test Helpers library aims to make Arrange-Act-Assert, class-based tests easier to write. The helpers in this module make patching easier, ease Python 3 compatibility, and gently guide users towards the AAA style of testing. Additional helpers are included for situations likely to be encountered in the web-app world.

Examples

The library is designed to be simple and modular. By using mixins to extend the test cases functionality we can write more expressive tests in fewer lines of code.

Creating Patches:

>>> from test_helpers import mixins, bases
>>> class WhenFooingBar(mixins.PatchMixin, bases.BaseTest):
...
...     patch_prefix = 'module.submodule'
...
...     @classmethod
...     def configure(cls):
...         cls.foo = cls.create_patch('foo', return_value=True)
...
...     @classmethod
...     def execute(cls):
...         function_under_test()
...
...     def should_have_called_foo(cls):
...         self.foo.assert_called_once_with()

Dependent Data Service Helpers

The Test Helpers library includes classes that facilitate initializing and cleaning up dependent data service resources. Provided with connection configuration to existing service instances, each class can generate name-spaced workspaces and tear down any created workspaces at the end of each test run.

Currently included:

  • MongoDB
  • PostgreSQL
  • RabbitMQ

Supported Python Versions

The Test Helpers library is built and tested against python 2.6, 2.7, and 3.3. You may need to grab other versions of the interpreter with your preferred package manager (MacPorts, Apt, Yum, etc)

sudo port install python27 python33

Running Tests

To run the all of the tests across the supported versions of Python via tox run the following commands in your terminal:

make test

Developing The Test Helpers library

Clone the repo and start hacking:

$ make requirements # If you just cloned the repo or requirements.pip changes
$ make test # Run the tests afterwards to ensure everything is running as expected
Release History

Release History

This version
History Node

1.5.4

History Node

1.5.3

History Node

1.5.1

History Node

1.5.0

History Node

1.0.0

Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
test-helpers-1.5.4.tar.gz (26.0 kB) Copy SHA256 Checksum SHA256 Source Jan 21, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting