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...