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 adder_test_set:
from nose_test_sets import TestSetBuilder test_set_builder = TestSetBuilder() test = test_set_builder.add_test @test def adding_zero_to_zero_returns_zero(adder): assert adder.add(0, 0) == 0 @test def adding_one_to_two_returns_three(adder): assert adder.add(1, 2) == 3 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 adder_test_set def _run_test_with_standard_adder(test_func): adder = StandardAdder() return test_func(adder) StandardAdderTests = adder_test_set.create( "StandardAdderTests", _run_test_with_standard_adder )
The first argument to create should be the name of the concrete test set. The second argument is a function that can run each of the test functions. In the example above, to run the tests in StandardAdderTests, nose-test-sets ends up calling _run_test_with_standard_adder(adding_zero_to_zero_returns_zero) and _run_test_with_standard_adder(adding_one_to_two_returns_three).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.