ValueSourceAttribute (NUnit 2.5)

ValueSourceAttribute is used on individual parameters of a test method to identify a named source for the argument values to be supplied. The attribute has two public constructors.

ValueSourceAttribute(Type sourceType, string sourceName);
ValueSourceAttribute(string sourceName);

If sourceType is specified, it represents the class that provides the data. If not, the class containing the test method is used.

The sourceName, represents the name of the source that will provide the arguments. It should have the following characteristics:

NUnit locates value sources at the time the tests are loaded, creates instances of each class having non-static sources and builds a list of tests to be executed. Each instance is only created once at this time and is destroyed after all tests are loaded. In the case of sources located within the same class as the tests, a different instance is created each time the test is run, so no communication is possible using non-static members of the class.