Pattern – using attributes

The nose2 test runner has a useful attrib plugin that allows us to set attributes on test cases and select tests that match particular attributes.

For example, the following test has three attributes set:

def test_stock_update(self):
    self.goog.update(datetime(2014, 2, 12), price=10)
    self.assertEqual(10, self.goog.price)

test_stock_update.slow = True
test_stock_update.integration = True
test_stock_update.python = ["2.6", "3.4"]

When nose2 is run via the following command, then the plugin is enabled, and only the tests that have the integration attribute set to True are executed:

nose2 --plugin=nose2.plugins.attrib -A "integration"

The plugin can also run all tests that have a specific value in a list. Take the following command: ...

Get Test-Driven Python Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.