Skip to main content

Create test sets to test different implementations of the same interface

Project description

Installation

$ pip install nose-test-sets

Usage

To define your set of common tests, create a TestSetBuilder, and use add_test to add tests. Each test should accept the same name of arguments. Say you define some tests for an adder in the module common_tests:

from nose_test_sets import TestSetBuilder

test_set_builder = TestSetBuilder()

@test_set_builder.add_test
def adding_zero_to_zero_returns_zero(adder):
    assert adder.add(0, 0) == 0

create = test_set_builder.create

To run the tests against a specific implementation, you create a set of tests using the create function that we defined above:

import contextlib

import adder_tests

@contextlib.contextmanager
def create_adder():
    return StandardAdder()

StandardAdder = adder_tests.create("StandardAdder", create_adder)

The first argument to create should be the name of the concrete test set. Any further arguments should be context managers that supply the arguments that will be used by each test.

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

nose-test-sets-0.2.0.tar.gz (1.3 kB view hashes)

Uploaded Source

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