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:
nose2 --plugin=nose2.plugins.attrib -A "python=2.6"
The preceding command will run all tests that have the python attribute set to 2.6 or containing the value 2.6 in a list. It will select and run the test_stock_update test, shown previously...