This plugin for Nose allows users to easily configure and customize their test settings. It provides a streamlined way to manage tests and gather useful data for analysis.
Being a plugin to the nose test framework, nose-testconfig provides a means of feeding test-specific or test-run specific configuration data to the executing tests. The plugin currently supports configuration files in YAML via PyYAML, INI via ConfigParser, and Pure Python via Exec.
The plugin is built to be flexible, allowing for arbitary python files to be executed as configuration files with no checks in place. The default configuration assumed is ConfigParser ini-style format. Additionally, the plugin allows for custom parsers to be added easily.
The current usage of tests importing the "config" singleton from testconfig is limited, but allows for tests to reference configuration data via dictionary keys like config['servers']['webapp_ip'], assuming the main "config" object is a dictionary. However, caution must be taken as tests can write into the configuration, thereby altering it.
Pure Python configuration affords a vast range of possibilities. With the configuration being loaded through an exec(), nose-testconfig allows for potentially altering nose, the plugin, etc. However, exporting a config{} dict as part of your python code is a prerequisite for importing the config object from testconfig.
YAML-style configuration empowers users with many of the functionalities of pure python without the vulnerability of unprotected exec(). It also provides access to pyaml python-specific objects and other YAML features.
Nose-testconfig is an excellent plugin worthy of consideration. Its simplicity and flexibility position it as a valuable tool in software testing.
Version 0.6: N/A